楠老师课程笔记
文章平均质量分 81
Java基础原理笔记
langshan_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
javaweb servlet项目
封装报文,访问静态/动态资源,实现登录的功能,cookie,session保存登录的状态,添加filter过滤器,添加多个过滤器,dem4j读配置文件。原创 2023-08-08 11:20:40 · 134 阅读 · 0 评论 -
JAVA学习 流式编程
【代码】JAVA学习 流式编程。原创 2023-08-03 13:38:49 · 122 阅读 · 0 评论 -
Java学习 注解和反射
可以在字节码文件里看到,自定义的注解类继承公共的抽象的Annotation类,Annotation类只有一些继承了父类object类的方法,自定义注解类的抽象方法,在使用注解时每个方法都需要写返回值,如果不写返回值就在定义时写上默认值,如果只定义了一个抽象方法,在写返回值的时候就不用区分方法。只有加了@Singleton注解的类才加入容器,foreach循环遍历数组,getAnnotation()返回注解类,判断注解类不为空就调用addsingleton()把class和instance放到map中。原创 2023-07-12 18:20:22 · 162 阅读 · 1 评论 -
Java学习 IO流
当一个JAVA类序列化时,jvm会给class随机生成一个版本号,一旦修改了代码或者改变jdk再序列化就会失败,因为修改代码或者改变jdk会生成一个新的版本号,jvm觉得此时被序列化的不再是原先的类,就不让序列化,并报异常InvalidClassException。为了安全性,当我们的程序、用户空间要读取数据时,会向内核申请,让内核空间、操作系统去设备上读取数据,读取完以后,用户空间去内核空间复制一份,用户空间再复制一份到另一个内核空间中,由另一个内核空间、操作系统对另一个设备输出数据。原创 2023-07-12 17:50:52 · 135 阅读 · 1 评论 -
JAVA学习 并发编程
非公平锁比公平锁多了两次抢锁的机会,非公平锁调用lock()时抢锁、尝试获取锁时抢锁,挂起前再抢一次锁,非公平锁效率更高,在挂起之前抢到锁就不必再挂起,挂起的就接着挂起。案例:让flag=false,让线程利用flag死循环,接着打印一句话,启动线程以后,在主存中再修改flag的值,理论上这能让线程停止,接着打印一句话,但在实际的运行中没有出现打印效果说明了线程一直在空转,没有机会到主存中获取已经刷新的数据,这就说明了线程间存在不可见的问题,主线程与主线程创建的线程是两条线程且缓存互不可见。原创 2023-07-11 02:21:15 · 168 阅读 · 0 评论 -
JAVA学习 JVM
JVM将Java代码转换成JVM可以读的字节码文件,再转换成机器可以读的指令,JVM作为中间层,屏蔽掉不同的操作系统的硬件差异(CPU),在不同的操作系统上安装不同版本的JVM, Java就实现了跨平台。复制算法:一种用空间换时间的算法,将堆内存一分为二,一部分使用、满了就标记整理把有用的复制到另一部分空间去,复制完以后不要的就gc,原来使用的空间就腾出来了,等到下次被使用的这部分空间满了,再倒腾回去。堆中不同的实例对象、可以调用方法区的同一个方法,同一个方法可以加入不同的栈中,独立执行。原创 2023-07-11 02:18:56 · 99 阅读 · 0 评论 -
JAVA学习 集合
在链表头上添加可以提升读的效率,数组的时间复杂度是O(1)、链表的时间复杂度是O(n),但数组会扩容rehash与新的数组长度计算下标、热点数据又被打乱了,头插变得没有意义,不如改为尾插降低复杂度。高位与低位共同参与的原因是为了让数值大的和数值小的在数组里分布的范围更均匀。源码add():获取原数组的数据 getArray()、原数组的长度 len,创建新数组,新数组的长度是原数组的长度+1, 添加新数据 newElement[lens]=e,改变数组的引用指向。斜树只有左节点或只有右节点,像链表。原创 2023-07-11 02:17:30 · 99 阅读 · 0 评论 -
JAVA学习 面向对象
桥接方法:使用泛型在编译时,会编译成object而重写父类的方法必须函数名和参数列表相同,所以在实现接口重写方法时,其实是重载方法,而不是重写,参数列表已经改变,一个参数是传入的object,一个是传入的子类,所以,用桥接方法解决多态和泛型擦除的问题。ClassCastException.值传递传递的是拷贝出来的数字,修改掉的是拷贝出来的基础数据类型的值,或者是string类型的值,string是final修饰的的不可变的字符串,被修改的是拷贝出来的、指向新的内存地址的值,和原来的值无关。原创 2023-07-11 02:12:15 · 133 阅读 · 0 评论
分享