- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 【Spring基础-02】控制反转
2 控制反转2.1 IoC概念控制反转(Inversion of Control,IoC)把对象创建的权利交给框架来处理,包括依赖注入与依赖查找,目的是削减程序耦合。2.2 使用Spring IoCstep1:在resources目录下创建bean.xml文件step2:配置bean.xml添加文档约束,访问Spring网站 ,找到【1.2.1. Configuration Metadata】,将里面的xml拷贝到bean.xml中配置bean<?xml version="1.
2020-09-29 11:07:11 132
原创 【Spring基础-01】Spring概述
1 Spring概述1.1 Spring是什么Spring是分层的Java SE/EE应用全栈轻量级开源框架,以IoC与AOP(Aspect Oriented Programming,面向切面编程)为内核,提供展现层(Spring MVC)和持久层(Spring JDBC)以及事务管理等众多企业级应用技术,容易适配第三方框架与类库。IoC:Inverse of Control,控制反转AOP:Aspect Oriented Programming,面向切面编程1.2 Spring的优势1)程
2020-09-27 09:31:04 130
原创 设计模式03--创建型模式
1 设计模式分类创建型:单例模式、工厂模式、原型模式、建造者模式、工厂模式结构型:适配器模式、桥接器模式、装饰模式、组合模式、外观模式、享元模式、代理模式行为型:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式2 单例模式保证某个类只能有一个对象,并且提供获取该对象引用的方法。3 创建方法3.1 饿汉式class Singleton1{ // 在定义时进行初始化 private final static
2020-07-11 14:11:19 140
原创 设计模式02--UML类图
1. 依赖关系只要类A在类中用到了对方,那么它们之间就存在依赖关系。表现形式类中用到了对方是类的成员属性是方法的参数或者返回值方法中使用到对应类图2 泛化关系特指继承。3 实现关系A类实现了接口B。4 关联关系类与类之间的联系关联具有导航性:单向、双向多重性:一对多、多对多5 聚合关系关联关系的特例:整体和部分的关系,但是是可分离的主要体现形式:类A成员变量中声明类B地对象,但没必要立即进行初始化空心聚合6 组合关系整体和部分地关系,但整体
2020-07-11 11:16:22 122
原创 设计模式01--设计模式七大原则
1 设计模式的目的为了提高软件的:重用性可读性可拓展性可靠性高内聚、低耦合(模块内部联系紧密,模块之间)2 七大设计原则2.1 单一原则对类来说,一个类应该只负责一种原则。其优点如下:降低类的复杂度提高可读性与可维护性,降低变更所引起的风险逻辑简单时可以在使用方法层面的单一原则2.2 接口隔离原则一个类对另外一个类的依赖应该建立在最小接口上。案例如下:类A通过接口Interface1依赖类B、类C通过Interface1接口依赖D,如果Interface1对于类A与
2020-07-11 10:13:27 83
原创 2020-2021面试问题整理-Linux常用命令--持续更新
findfind 路径参数作用-name查找文件的名称,可以使用正则, find . - name "*.txt"-type查找类型:-f 文件、-d目录。如 find . - name "*.txt" -d-mtime最后修改时间:+30 三十天前、-1 一天以内.如find . - name "*.txt" -f-xargs前面的结果可以作为后面的输入,如find . -name "*.txt" |xargs rm -rf {} \;-exec
2020-07-09 17:01:09 185
原创 2020-2021面试问题整理-操作系统
操作系统1 进程与线程1.1 进程与线程的区别与联系1.2 进程调度1.2.1 调度算法1.2.2 进程切换步骤1.3 进程通信(Inter-Process Communication,IPC)1.3.1 管道通信Pip1.3.2 命名管道FIFO1.3.3 消息队列MessageQueue1.3.4 信号量Semaphore1.3.5 共享内存SharedMemory2 Linux常用命令3 其它问题3.1 死锁死锁避免--银行家算法3.2 内存分页管理与Swap3.3 任务队列与CPU Load其它CP
2020-07-08 22:51:36 365
原创 2020-2021面试问题整理--计算机网络
目录1 网络分层1.1 OSI七层模型1.2 TCP/IP四层协议2 数据链路层相关协议2.1 点对点协议PPP2.2 CSMA/CD协议2.3 主要问题3 网络层协议3.1 地址解析协议ARP3.2 IP协议3.3 路由选择协议3.4 网际报文控制协议3.5 网际组管理协议4 传输层协议4.1 用户数据报协议UDP4.2. TCP协议4.2.1 特点4.2.2 如何保障可靠性1)停止等待协议ARQ协议连续ARQ协议2)流量控制3)拥塞控制慢开始拥塞避免快重传快恢复4.2.3 三次握手过程为什么三次?两次连
2020-07-08 08:51:23 648 2
原创 MySQL面试问题合集1--基础
INDEX0 参考链接1 索引相关1.1 什么是索引?1.2 索引都有哪些数据结构?1.3 Hash索引与B+Tree索引的区别?1.4 聚簇索引和覆盖索引区别?1.5 索引设计原则有哪些?1.6 *MySQL索引的使用有哪些注意事项?1.7 *如何知道是否使用了索引?2 视图2.1 什么是视图?2.2 视图的作用有哪些?3 事务相关3.1 什么是事务?3.2 事务的ACID分别代表什么,详细解释?3.3 事务并发会带来哪些问题?3.4 上述问题如何解决,MySQL的事务隔离级别了解吗?3.5 MySQL有
2020-06-29 19:12:22 149
原创 学习笔记--Java Interrupt方法
Interrupt相关方法在Java中调用interrupt方法可以中断进程。与之相关的方法有isInterrupted():返回一个boolean值,用于判断当前现成的打断状态。此方法不会重置打断标记。interrupted():返回一个boolean值,用于判断当前现成的打断状态。此方法会重置打断标记。Interrupt中断标记需要注意的是,当调用interrupt方法大打断的时处于sleep、wait、join的方法时,会触发打断异常,但是打断标记会重置为false。示例程序如下:im
2020-06-16 13:34:49 275
转载 Java并发编程基础--4共享模型之管程
4 共享模型之管程4.1 共享带来的问题问题上下文切换与指令交错导致共享资源访问的读写问题。临界区 Critical Section一段代码如果存在对共享资源的多线程读写操作,称这段代码为临界区。竞争条件Race Condition多个线程在临界区执行,由于代码的执行序列不同而导致结果无法预测,称之为繁盛了静态条件。4.2 synchronized解决方案为了避免临界区的竞态条件发生,有多种手段可以达到目的。阻塞式的解决方案:synchronized,Lock非阻塞式的解决方案:原子
2020-06-15 22:50:32 366
原创 Java并发编程基础--3Java线程
Java并发编程基础--3Java线程3 Java线程3.1 进程创建的三种方式方法1:直接使用Thread方法2:Rnnable配合ThreadThread与Rnnable的关系lambda表达式方法3:FutureTask配合Thread3.2 观察多个线程同时运行windowslinuxJava3.3 线程运行原理栈与栈帧线程上下文切换(Thread Content Switch)3.5 常见方法3.6 start与run3.7 sleep与yieldsleepyield线程优先级sleep防止线程C
2020-05-26 18:52:52 219
转载 Java并发编程基础--2并发与并行
并发与并行2 并发与并行2.1 进程与线程进程线程二者对比2.2 并行与并发概念应用异步调度提高效率结论:2 并发与并行2.1 进程与线程进程程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的。当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如记事本、画图、
2020-05-26 18:49:18 210
原创 Java编程思想--20注解
第二十章 注解20.1 基本语法20.2 编写注解处理器20.2.1 注解元素20.2.2 默认值的限制20.2.3 生成外部文件20.5 基于注解的单元测试20.5.4 移除测试代码注解(也被称为原数据)为我们在代码中添加信息提供了一种形式化方法,使我们在稍后的某个时刻非常方便地使用这些数据。Java模前内置了三种标准注解与四种元注解。其中三种标注注解为:标准注解解释@Override表示当前类将覆盖超类中的方法。如果拼写错误或者方法签名对应出错,编译器会发出提示。@
2020-05-22 15:32:45 195
原创 Java编程思想--17容器深入研究
第十七章 容器深入研究17.1 完整的容器分类法17.2 填充容器17.2.1 一种Generator解决方法17.2.2 Map生成器17.2.3 使用Abstract类17.3 Collections的功能方法17.1 完整的容器分类法上图虚线框表示接口,长虚线框表示abstract类。空心箭头表示一个特定的类实现了一个接口。实心箭头某个类可以生成箭头所指类的对象。17.2 填充容器Collections.nCopiesList<StringAddress> list= ne
2020-05-22 10:41:50 247
原创 Java编程思想--14类型信息
第十四章类型信息14.1 为什么需要RTTI14.2 Class对象Class对象Class.forName(String s)14.2.1字面类常量14.2.2 泛化Class的引用运行时类型信息使得你可以在程序运行时发现和使用类型信息。14.1 为什么需要RTTIRTTI(Run-Time Type Identification):面向对象的基本目的是,让代码只操纵对基类的引用。如果在再派生出一个新类来拓展程序,那么原来的代码不会受到影响。但是有些时候在运行时需要确切知道某一对象具体类型,这
2020-05-18 10:40:32 206
原创 Java编程思想--13字符串
第十三章 字符串13.1 不可变的String13.2 重载“+”与StringBuilder13.2.1 javap反编译13.3 无意识的递归13.4 String常用方法13.5格式化输出13.5.1 printf()13.5.2 System,out.format()13.5.3 Formatter类13.5.4 格式化说明符13.5.5 Formatter转换13.5.6 String.format()13.6正则表达式13.6.1 基础13.6.2 创建正则表达式(1)字符(2)字符类13.6.
2020-05-09 13:55:08 356
原创 Java编程思想--12通过异常处理错误
第十二章 通过异常处理错误12.1 概念12.2 基本异常12.2.1 异常的参数12.3.2 捕获异常12.4 创建自定义的异常12.4.1 异常与记录日志12.5 异常说明12.6 捕获所有异常12.6.1 栈轨迹12.6.2 重新抛出异常12.7 Java标准异常12.7.1 特例:RuntimeException12.8 使用finally进行清理12.8.1 finally用来做什么12...
2020-05-08 17:03:31 190
原创 Java编程思想--11持有对象--容器
第十一章 持有对象--容器11.1 泛型和类型安全容器11.2 基本概念11.3 添加一组元素11.4 容器的打印11.5 List11.6 迭代器11.6.1 基本操作11.6.2 优点11.6.3 ListIterator11.7 LinkedList11.7.1 获取元素11.7.2 删除表头元素11.7.3 添加元素11.8 Stack11.9 Set11.10 Map11.11 Queu...
2020-05-08 11:08:22 168
原创 Java编程思想--09接口
第九章 接口9.1 抽象类与抽象方法9.2 接口9.2 完全解耦9.2.1 策略模式9.4 Java中的多重继承9.5 通过继承来拓展接口9.5.1 组合接口时的名字冲突9.6 适配接口9.7 接口中的域9.8 接口嵌套9.9 接口与工厂9.10 总结9.1 抽象类与抽象方法建立抽象类是希望通过这个接口操作一系列类。包含抽象方法的类叫做抽象类。如果类含有抽象方法,则必须被限定为抽象的。...
2020-05-07 10:32:31 152
原创 Java编程思想--07复用类
第七章 复用类7.1 组合语法7.2 继承语法7.2.1 初始化基类7.3 代理--介于继承与组合之间7.4 继承与组合的结合使用7.4.1 确保正确的清理7.4.2 名称的屏蔽与@override7.5 继承与组合的选择7.6 protected关键字7.7 向上转型7.7.2 再讨论组合与继承7.8 final关键字7.8.1 final 数据7.8.1 final 方法7.8.3 final...
2020-05-06 16:27:09 170
原创 Java编程思想--06访问权限控制
第六章 访问权限控制6.1 包:库元素6.1.2 创建独一无二的包名6.1.3 定制工具库6.1.4 用import改变行为6.2 Java访问权限修饰词6.2.1 包的访问权限6.2.2 public6.2.3 private6.2.4 protected6.1 包:库元素解决一定的方法冲突问题。每一个编译单元即(.java文件)只能有一个public类如果使用package语句,...
2020-05-06 14:28:00 159
原创 Java编程思想--04控制执行流程
第四章 控制执行流程4.4 foreach4.8 switch4.4 foreachfor(float x : f){}4.8 switchswitch(integral-selector){ case integral-value1: statement; break; case integral-value2: statement; break; case integral-...
2020-05-05 11:22:51 106
原创 Java编程思想--03操作符
第三章 操作符3.1 println3.7 equals3.8 逻辑运算符3.12 三元操作符if-else3.3 Java运算符的优先级在最底层,Java中的数据是通过操作符来完成的。3.1 printlnprintln函数会将数字拼接进字符串。int x = 1, y = 2, z = 3;System.out.println("a = " + a + " b = " + b...
2020-05-05 11:12:31 104
原创 Java编程思想--01对象导论
第一章 对象导论1.1 抽象1.2 对象接口1.3 每个对象都提供服务1.4 被隐藏的实现1.5 复用的体现1.6 继承1.6.1 “是一个”与“像一个”1.7 伴随多态的可互换对象:1.8 单根继承结构1.9 容器1.10 对象创建的生命周期1.11 异常处理1.12 并发编程1.13 Java与Internet1.13.1 Web是什么--C/S计算机技术(1)Web浏览器(2)“客户端编程”...
2020-05-05 10:01:17 174
原创 TCP/IP协议族-01
TCP/IP协议详解01 体系结构 主要协议数据链路层主要协议ARP协议(Address Resolve Protocol,地址解析协议)网络层传输层应用层DNS2. 封装3. 分用01 体系结构 主要协议数据链路层网卡接口的网络驱动程序,处理数据在物理传输媒介上的传输。数据链路层提供对物理传输层的封装,在上层协议看来,网卡接口都是一样的,可以直接调用主要协议ARP协议(Addre...
2020-05-04 23:33:30 65
原创 堆内存与栈内存在物理上的区别
堆内存与栈内存1. 物理上2. 其它区别1. 物理上多数情况下,堆内存是操作系统抽象的,而栈由CPU直接提供支持。从硬件上,堆和栈都是内存条上若干存储单元,并没有什么不同。 但是很多CPU对压栈出栈有指令上的支持,所以栈区分配/归还内存速度极快(相比之下,堆极慢)。尤其在局部变量上,可以轻易地与函数调用/返回绑定(作用域),因此几乎所有编译语言都利用栈来管理局部变量。不仅如此,由于栈内存分配...
2020-05-04 20:58:42 2014
Java容器简图.docx
2020-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人