Java语言小结

Java程序初始化顺序:

父类的静态代码块
子类的静态代码块
父类的普通代码块
父类的构造方法
子类的普通代码块
子类的构造方法

程序计数器的内存空间是线程私有
并且程序计数器是jvm虚拟机规范中唯一一个没有规定 OutOfMemoryError 异常 的区域;
java虚拟机栈:线程私有,生命周期和线程一致。描述的是 Java 方法执行的内存模型:每个方法在执行时都会床创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行结束,就对应着一个栈帧从虚拟机栈中入栈到出栈的过程。
没有类信息,类信息是在方法区中
.java堆:对于绝大多数应用来说,这块区域是 JVM 所管理的内存中最大的一块。线程共享,主要是存放对象实例和数组
方法区:属于共享内存区域,存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据

小型机,一般认为,传统小型机是指采用RISC、MIPS等专用处理器,主要支持UNIX操作系统的封闭、专用的计算机系统,所以又称RISC服务器或Unix服务器。性能比大型机要差,比PC机要好。
SAS是希捷研发出来用于替代SCSI的接口、它的标准是300MB/s或者3G/s 而SATA最高只能达到150MB/s SATA-II将传输速率提高到300MB/s才更接近SAS,但SAS由于价格昂贵未大量发行。而NL-SAS是SAS的磁盘接口和SATA的盘体的综合体
IDE的速率现在是33.3MB/s(不过IDE类型的接口已经很老了 现在用的多的是IDE的分支 比如ATA)
SCSI和SATA不太好比【我的知识水平还不能比较他们】 但是对于这题来说 SAS最快 NL-SAS第二 IDE最慢
华为同时承诺:将公司对网络和业务安全性保障的责任置于公司的商业利益之上
shell中可以通过一行执行多个命令。有以下三种方式:
1、多个命令通过分号;隔离,表示所分隔的命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令
2、多个命令通过&&隔离,表示命令也会一直执行下去,但是中间有错误的命令存在就不会执行后面的命令,没错就直行至完为止。 
3、多个命令通过||隔离,表示一遇到可以执行成功的命令就会停止执行后面的命令,而不管后面的命令是否正确与否。如果执行到错误的命令就是继续执行后一个命令,一直执行到遇到正确的命令为止

正则表达式
描述字符的符号: 

    [abcde] :   a/b/c/d/e 中的任意一个字符
    [^abcde]:   除了 a/b/c/d/e 之外的任意一个字符
    [a-z]   :   所有小写字母
    [A-Z]   :   所有的大写字母
    [0-9]   :   所有的数字
    [a-zA-Z0-9]:所有的大小写字母 和 数字
    [a-z&&[^abc]]   :   所有小写字母中除了a/b/c的字符
    [0-9&&[^0]]    :所有数字中除了0

快捷字符描述:
    .       :   任意一个字符
    \d      :   任意数字  ,与 [0-9]效果一致
    \D      :   任意非数字  ,与 [^0-9]效果一致
    \s      :   所有的空白字符 \n\t\f\r\X0B等等
    \w      :   所有的大小写字母 和 数字 与[a-zA-Z0-9]效果一致
    \W      :   相当于[^\w]
    Tips    :    以上\x均代表一个字符!!

数量符号:
    x?      :   0 或 1个 x
    x*      :   0 或 任意个x
    x+      :   表示1个或以上个x
    x{n}    :   n表示数字, 描述的是n个x
    x{n,}   :   至少n个数字
    x{n,m}  :   表示至少n个x 最多m个x

特殊符号:
    &&      :   与
    |       :   或
    \       :   转义符号 , 例如: .在正则表达式总具备特殊案例, 如果需要匹配.字符 ,则需要使用\.

n&(n-1)作用:将n的二进制表示中的最低位为1的改为0;
因此,n > 0 && ((n & (n - 1)) == 0 )才是判断 n 是否为偶数

首先,拓扑排序是指对于一个有向无环图G,将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则u在线性序列中出现在v之前。那么,假设存在回路,v1,v2,v3,……,vn,v1,则边<v1,v2>∈E(G),故v1在v2之前,类似地,v2在v3之前,……,因此,得出,v1在vn之前。又因为<vn,v1>∈E(G),即vn在v1之前。相互矛盾,所以假设不成立。所以,一个图能够进行拓扑排序的一个必要条件就是图中不存在环。

Arraylist在末尾进行增删的时候,内部数组下标不会发生改变,而在最前端进行删除或者增加的时候,会改变后面的下标位置(或是都向前移动,或者都向后移动),这个过程是非常耗费资源的!

Linux系统的优势有:多用户多任务,使用者与群组的规划
                                稳定、高效和安全

哈夫曼树一定是完全二叉树
哈夫曼树一定是平衡二叉树
哈夫曼树中左孩子节点小于父节点,右孩子节点大于父节点

关于传值和传引用
call by value 不会改变实际参数的数值
call by reference 不能改变实际参数的参考地址
call by reference 能改变实际参数的内容

java集合有哪些?他们的继承关系?

list列表
quese队列
set集合
map映射

 

list,set,map分别有哪些实现类?
list中的是ArrayList,LinkedList,Vector
set中的是Hashset,Treeset,LinkedHashset
map中的是Hashmap,hashtable TreeMap

TCP/IP协议 三次握手四次断开

简单就是:请求,确认,连接

客户端 —> 服务器,客户端请求连接
服务器 —> 客户端,服务器确认连接信息
客户端 —> 服务器,客户端确认连接信息,开始连接

A —> B,A请求断开连接
B —> A,B确认请求并准备断开连接
B —> A,B关闭连接并通知A
A —> B,A确认关闭
=============================================================spring=============================================================

注解
@Resource和@Autowired的区别:
相同点:都是用来自动装配的,都可以放在属性字段上
不同点:@Autowired 通过bytype的方式实现,而且必须要求这个对象存在!【常用】
           @Resource 默认通过byname的方式实现,如果找不到名字,则通过byType实现!如果俩个都找不到的情况下,就报错!【常用】
执行顺序不同:@Autowired 通过bytype的方式实现。
                        @Resource 默认通过byname的方式实现。
Spring 不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。 
@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按byName自动注入罢了。@Resource有两个属性是比较重要的,分别是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。 
@Resource装配顺序

如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常

这个注解@Componen说明这个类被spring接管了,也就是说注册到了容器中

spring中方法名就是Bean的名字

UserDao 接口

UserDaoImpl 实现类

UserService 业务接口

UserServiceImpl 业务实现类

所有的类都要装配到Bean里面,所有的Bean都需要容器去取,容器里面取得的Bean拿出来就是一个对象,然后调用这个对象就好了

对象是由Spring创建的

对象的属性是由Spring容器设置的

我们彻底不再需要程序去改动了,要实现不同的操作,只需要在xml配置文件中进行修改,所谓的ioc:对象由spring来创建,管理,装配!

InvocationHandler是由代理实例的,调用处理程序实现的接口。每个代理实例都有一个关联的调用程序,当在代理实例上调用方法时,方法调用将编码并派到其调用处理程序的invoke方法。

posted @ 2022-09-06 16:11  洛无极262  阅读(87)  评论(0)    收藏  举报
莫愁前路无知己,天下谁人不识君