
java
mu6y
这个作者很懒,什么都没留下…
展开
-
Java内部类相关知识
Java内部类基础 Java可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类一般包括成员内部类,局部内部类,匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。 成员内部类 ...转载 2020-08-04 09:27:06 · 133 阅读 · 0 评论 -
Java 动态代理
Java动态代理 首先我们介绍代理模式 静态代理模式 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zrz9qToq-1588689266715)(C:\Users\lym\AppData\Roaming\Typora\typora-user-images\image-20200505143328273.png)] 静态代理 可以做到在不修改目标对象前提下,对目标...转载 2020-05-05 22:36:11 · 197 阅读 · 0 评论 -
Java 注解
注解 Annotation从JDK5.0开始引入的新技术 Annotation的作用: 不是程序本身,可以对程序做出解释。 可以被其他程序读取 Annotation的格式: 注解是以“@注释名”在代码中存在的,还可以添加一些参数值, Annotation在哪里使用? 可以附加在package,class,method,field上面,详单与给他们添加了额外的辅助信息,我们...原创 2020-05-04 23:03:35 · 154 阅读 · 0 评论 -
java final关键字
final 什么是不变性 final的作用 3种用法:修饰变量、方法、类 注意点 不变性和final的关系 类的不可变性,类中所有的属性都不可变。 class Person{ final int age; final String name; } final的作用 类防止被集成、方法防止被重写、变量防止被修改 天生是线程安全的,而不需要考虑线程安全 final修饰变量 含...原创 2020-04-15 16:40:20 · 123 阅读 · 1 评论 -
Java异常
Java异常 Java异常体系图 Exception的子类有很多,主要可概括为运行时异常和非运行时异常 Java异常体系结构 Throwable类时是所有异常的错误的超类,两个直接子类为Error和Exception,分别表示错误和异常,其中异常类Exception又分为运行时异常和非运行时异常,这两种异常有很大区别。 Error和Exception Error是程序无法处理的错误,他是有JV...原创 2020-03-27 00:21:07 · 136 阅读 · 0 评论 -
Java HashMap源码阅读
HashMap HashMap的默认属性 //table默认初始化容量 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //table最大容量 static final int MAXIMUM_CAPACITY = 1 << 30; //加载因子,HashMap在其容量自动增加前可达到多满的尺度 static fina...原创 2020-03-18 11:34:51 · 112 阅读 · 0 评论 -
Cookie与Session总结
刚刚看完javaweb的学习视频,对其中的Cookie与Session有一些不了解,在网上茶渣一下资料记录一下。 Cookie 什么是Cookie 在服务器接收到客户端请求后,使用response向客户端颁发一个Cookie,当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cooki...原创 2019-03-31 22:28:02 · 142 阅读 · 0 评论 -
ACwing 算法基础 区间合并
区间合并 介绍 区间合并是指有多个区间,其中某些区间是可以合并为一个区间的。如下图所示的两个区间,其左区间右端点和右区间的左端点是交叉的,所以这两个区间就可以合并。 我们首先通过区间的左端点进行排序,这样两个区间一共有三种情况: 如果1区间的右端点大于2区间的左端点,如果1区间的右端点大于2区间的右端点,则两个区间可以合并为1区间。 如果1区间的右端点大于2区间的左端点,如果1区间的右端点小...原创 2020-03-06 11:51:57 · 418 阅读 · 0 评论 -
双指针算法
双指针算法 介绍 双指针算法是指使用两个指针分别指向不同的位置,整个算法过程都维护这两指针,两个指针指向的位置有两类。如下图所示 两个指针分别指向两个序列。 两个指针指向同一个序列。 //模板 for(int i=0, j=0; i < n; i++){ if(j < i && check(i,j)) j++; //每道题的具体逻辑。 } 核心思...原创 2020-03-04 16:30:32 · 474 阅读 · 0 评论 -
深入理解Java虚拟机学习笔记(1)--Java内存区域的划分和相应的用途
1.运行时数据区 根据《Java虚拟机规范》的规定Java虚拟机所管理的内存将会包括以下几部分,方法区,堆,虚拟机栈,本地方法栈,程序计数器。其中方法区和堆是线程共享区域,虚拟机栈,本地方法栈,程序计数器是线程隔离的数据区。 1.1 程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指...原创 2019-10-05 21:18:02 · 90 阅读 · 0 评论 -
设计模式学习记录(1)--模版方法模式
设计模式应该遵循的原则 依赖倒置原则 高层模块不应该依赖于底层模块,二者都应该依赖于抽象 抽象不应该依赖于实现细节,实现细节依赖于抽象 开放封闭原则 对扩展开放,对更改封闭 类模块应该是可扩展的,但是不可修改的 单一职责原则 一个类应该仅有一个引起他变化的原因 变化的方向隐含类的指责 Liskov替换原则 子类必须能够替换他们的基类(IS-A) 继承表达类型抽象 接口隔离...原创 2019-07-27 22:46:27 · 102 阅读 · 0 评论 -
设计模式学习记录(2)--适配器模式
适配器模式 目的原创 2019-08-12 12:14:53 · 190 阅读 · 0 评论 -
String, StringBuilder, StringBuffer三者的区别
String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。从运行速度来讲,运行速度的快慢为StringBuilder > StringBuffer > String. StringBuilder 是线程不安全的,StringBuffer是线程安全的,StringB...原创 2019-04-03 10:18:01 · 102 阅读 · 0 评论