
java
java初级、中级到高级
神奇冉冉
求道问术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java程序逻辑
判断,循环,分支break: 跳出当前循环continue: 不执行continue后面的语句,跳到下一次循环switch: case穿透直到出现break,否则default也会被穿透原创 2023-02-24 09:48:11 · 141 阅读 · 0 评论 -
Java运算符
赋值, 算数, 关系, 逻辑, 位, 三元, instanceof赋值: =, +=, -= …算数: +,-,*,/,%,++,–关系: ==,!逻辑: &&, ||,!位: &, |, ~, ^, , >>>三元:?instanceof。原创 2023-02-12 13:04:26 · 113 阅读 · 0 评论 -
java包装类
【代码】java包装类。原创 2023-02-10 23:26:17 · 123 阅读 · 0 评论 -
java包装类类型转换
【代码】java包装类类型转换。原创 2023-02-10 23:20:42 · 528 阅读 · 0 评论 -
java数据类型
类型分类,存储范围,字面量,默认值,类型转换。原创 2023-02-10 22:03:49 · 589 阅读 · 1 评论 -
java泛型
通配符不能添加不能添加不能添加父对象实参类型,形参类型实参不能添加,形参可以添加,产生了二义性,因此实参类型,形参类型实参能添加本类对象,实参能添加子类对象,形参能添加本类对象,形参能添加子类对象。原创 2022-11-20 13:38:51 · 1383 阅读 · 0 评论 -
java/包装类
java中包装类大小在[-128,127]时,仍然安装基本数据类型处理。java中对象==,都是判断的地址。java中尽量使用equals()原创 2022-11-15 20:29:08 · 129 阅读 · 0 评论 -
java命令行
【代码】java命令行。原创 2022-10-08 12:47:28 · 543 阅读 · 0 评论 -
java二维数组
二维数组是数组的数组二维数组的第1维存储第2维数组的引用二维数组使用时看做行列(行列都从0开始)原创 2022-09-10 09:46:29 · 271 阅读 · 0 评论 -
Java初级/面向过程
面向过程编程中:原创 2022-09-09 23:26:29 · 84 阅读 · 0 评论 -
java/IO流
节点流:距离数据最近的流;可以操作任意数据类型处理流:装饰器模式增强功能的流:只能操作字符数据类型关闭流时先判断null先打开的流后关闭write()后的flush()原创 2022-07-03 20:23:32 · 185 阅读 · 0 评论 -
java知识点/非静态内部类不能定义静态属性
结论内部类创建内部类名称:Outer$Iner普通内部类构造器:需要传入外部类实例的引用用来标识这个内部类实例属于那个外部类实例静态内部类构造器:不需要传入…,因为静态内部类属于外部类,所有外部类实例公用1份静态内部类创建过程:外部类初始化(此时初始化外部类下的静态成员,不包括静态内部类下的静态成员)》静态内部类初始化(其内部静态成员)以上也就是单例模式/懒加载 todo普通内部类创建过程:外部类初始化(外部类静态成员)》外部类实例化》普通内部类实例化(入参外部类实例引用)非静态内部类中静原创 2022-04-02 08:50:29 · 392 阅读 · 0 评论 -
java知识点
构造顺序 super子类的所有构造函数中的第一行,都有一条隐藏super();先调用父类的构造器原创 2022-04-01 16:48:20 · 505 阅读 · 0 评论 -
java/单元测试
springboot项目单元测试目录要求src/main/java/src/test/java/在启动类模块下建立单元测试目录单元测试类的包要与启动类级别相同或以下异常单元测试方式1:@Test(expected = CustomException.class)public testStudentService(){ @Resource private StudentServiceImpl studentService @Test(expected = CustomException原创 2022-03-31 20:41:28 · 1112 阅读 · 0 评论 -
java源码/list/容量capacity
总结无参构造创建size=0的空对象数组,等到add时创建DEFAULT_CAPACITY=10大小的对象数组当用完对象数组时扩容(size+1>length时),size(list中元素个数),length(Object数组长度)扩容是以elementData.length*1.5方式深拷贝elementData = Arrays.copyOf(elementData, newCapacity) 扩容为了避免容量不够时,深拷贝扩容对性能的浪费,使用有参构造给出合适的初始容量(initialC原创 2022-03-22 15:33:49 · 1117 阅读 · 0 评论 -
java源码/list/remove/for-index remove(int index) 删除不干净
总结结论for-index remove(i)之后需要i–remove(int index) 返回索引元素,通过拷贝的方式把索引后面的元素都向前移动1步,前移之后i++造成元素跳过remove(Object o) 根据元素相等(o.equal)进行删除,通过拷贝的方式把索引后面的元素都向前移动1步for-index删除没有使用iterator,for-each删除使用了iterator问题for-index删除index1元素后,index1之后的元素整体前移1步,index2变inde原创 2022-03-22 11:19:46 · 247 阅读 · 0 评论 -
java源码/list/remove/for-each remove(Object o) ConcurrentModificationException
总结结论:单线程循环删除使用iterator.remove多线程循环删除使用iterator.remove+锁多线程循环删除使用CopyOnWriteArrayList问题:for-each本质使用iteratoriterator.next()会调用 checkForComodification(); 判断modCount != expectedModCountiterator.remove()会重置expectedModCount=modCountarrayList.remove(原创 2022-03-22 10:31:43 · 427 阅读 · 0 评论 -
Java/异常处理
重点异常继承结构图异常语法的目的和原则异常使用NPE(NullPointerException)处理简介介绍顶层类Throwable错误Error:严重问题,不可恢复问题;JVM问题异常Exception:轻度问题,可预测(编译异常),可恢复问题;程序问题目的java中出现异常处理语法的目的:目的:处理应用程序中出现的问题让应用程序继续运行因此:应用程序外部(HTTP/API)使用错误码,应用程序间使用Result因此,异常不用来进行条件控制,流程控制因此,异常应该原创 2022-03-09 18:17:27 · 1164 阅读 · 0 评论 -
Java/枚举
本质会继承Enum类enum实际上就是一个class枚举值也被解释成了public static final修饰的常量构造函数是private的特点单例:enum属性是public static final的enum构造方法默认就是私有的线程安全:属性都是static的,是线程安全的,只会被初始化1次;只会被1个线程初始化1次反序列化安全:序列化的时候Java仅仅是将枚举对象的 name属性 输出到结果中反序列化的时候则是通过java.lang.Enum的valueO原创 2022-03-09 10:02:42 · 231 阅读 · 0 评论 -
Java/注解
简介@Override注解:@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public @interface Override {}@interface 注解名@Target 使用位置@Retention 有效域作用注解=标记:打注解等于打标记标记:PACKAGE、TYPE、FIELD、CONSTRUCTOR、METHOD、LOCAL_VARIABLE、PARAMETER提供更多信息:PACKAGE、原创 2022-02-22 18:40:52 · 454 阅读 · 0 评论 -
Java反射/常用操作
获取对象所有属性名和值注意getter和setter方法的命名要规范PropertyDescriptor(jdk1.8):要求setter返回值为voidlombok的@Accessors(chain = true):链式调用注解,setter方法返回对象本身Mainpublic class Main { public static void main(String[] args) throws Exception { Student xcrj = new Stude原创 2022-01-04 20:42:16 · 268 阅读 · 0 评论 -
Java初级/面向过程/程序逻辑
判断注意条件触发执行if内的语句,if外的语句都会执行单ifif(布尔表达式为true){ // do something}// 继续执行其他if elseif(布尔表达式为true){ // do something} else { // do something}// 继续执行其他if else ifif(布尔表达式为true){ // do something} else if(布尔表达式为true) { // do something原创 2021-12-12 11:08:49 · 300 阅读 · 0 评论 -
Java初级/面向过程/数据类型
基础进制二进制:0b开头,例如 0b0000_0001_0000_0000_0000_0000_0000_0000十六进制:0x开头,例如0xA1八进制:0开头,例如070编码AsciiUnicodeUTF-8总共1~4byte,英文占用1byte,中文3byte可以表示Unicode标准中的任何字符第一个字节兼容ASCII编码Unicode定长便于处理;占用硬盘和流量大的问题UTF-8节省存储空间内存中为了方便使用使用Unicode编码网络传输原创 2021-09-20 12:44:06 · 156 阅读 · 0 评论 -
Java初级/基础/进制与编码
基础进制二进制:0b开头,例如 0b0000_0001_0000_0000_0000_0000_0000_0000十六进制:0x开头,例如0xA1八进制:0开头,例如070编码简介ANSI组织创建ANSCII字符集,8位为一个字节,表示常用的128种英文符号国内组织先后创建GB2312/GBK/GB18030字符集用于表示中文,但是与其他编码格式不兼容ISO组织创建Unicode字符集与编码规则,用来统一全世界所有字符,但是没有得到推广互联网的兴起,面向数据传输的UTF-8编码规原创 2021-09-20 12:40:16 · 353 阅读 · 0 评论