随笔分类 - Java基础
摘要:Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。
Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。
Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。
阅读全文
摘要:Spring提供了两种方式来生成代理对象: JDKProxy和Cglib,具体使用哪种方式生成由AopProxyFactory根据AdvisedSupport对象的配置来决定。
阅读全文
摘要:MD5加密特点:针对不同长度待加密的数据、字符串等等,其都可以返回一个固定长度的MD5加密字符串(通常是32位的16进制字符串);其加密过程几乎不可逆,除非维护一个庞大的Key-Value数据库来进行碰撞破解,否则几乎无法解开
阅读全文
摘要:在执行一个异步任务或并发任务时,往往是通过直接new Thread()方法来创建新的线程,这样做弊端较多,更好的解决方案是合理地利用线程池
阅读全文
摘要:Spring MVC 默认采用Jackson解析Json,尽管还有一些其它同样优秀的json解析工具,例如Fast Json、GSON,但是出于最小依赖的考虑,也许Json解析第一选择就应该是Jackson。
阅读全文
摘要:在执行 finally 之前,JVM 会先将 i 的结果暂存起来,然后 finally 执行完毕后,会返回之前暂存的结果,而不是返回 i,所以即使 i 已经被修改为 3,最终返回的还是之前暂存起来的结果 2。
阅读全文
摘要:从回收内存的角度看:Java 堆,由年轻代和年老代组成,分别占据 1/3 和 2/3;而年轻代又分为三部分,Eden、From Survivor、To Survivor,占据比例为 8:1:1,可调。
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot Java 面向过程(性能高)与面向对象(易维护,易复用,易扩展) c:直接编译成机器码在电脑执行 Java:半编译语言,最终的执行代码(.class)不是被CPU直接执行的二
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###反射(运行期动态加载 .class 字节码文件到JVM,产生一个Class对象,使用编译期完全未知的类) Java反射机制可以动态地创建对象并调用其属性,这样的对象的类
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###基本使用 Arrays.asList( "a", "b", "d" ).forEach( e -> System.out.println( e ) ); Arrays.
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###前言 内部类是指在一个外部类的内部再定义一个类。外部类不能直接访问内部类的的成员,但可以通过内部类来访问。 内部类可以是静态static的,也可用public,defa
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###前言 Java 5 开始之前,从集合读取的数据都必须进行类型转换,如果插入错误的数据就会报错。 有了泛型,编译器会自动为你的插入进行转换,并在插入时告知是否插入了类型错
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###前言 集合只能存储对象,存放的是多个对象的引用,对象本身还是放在堆内存中。 Collections和Arrays工具类: 两个工具类分别操作集合和数组,可以进行常用的排
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot I/O操作 流的作用:为数据源和目的地建立一个输送通道。 磁盘操作:File File 类可以用于表示文件和目录的信息,但是它不表示文件的内容。 字节操作:InputStre
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation)
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot CMS收集器 CMS收集器是基于“标记—清除”算法实现,整个过程分为4个步骤,包括: 初始标记(CMS initial mark) 并发标记(CMS concurrent m
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot RuntimeException RuntimeException是非常特殊的子类,你可以不用throw和throws。 哪怕你throw了,也没必要throws,即使你th
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###浅拷贝 对象的浅拷贝会对“主”对象进行拷贝,但不会复制主对象"里面的对象"。 "里面的对象"会在原来的对象和它的副本之间共享。 引用数据类型的成员变量,比如说成员变量是
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###依赖 <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.2
阅读全文
摘要:欢迎光临我的博客[http://poetize.cn],前端使用Vue2,聊天室使用Vue3,后台使用Spring Boot ###简介 Java反射是Java被视为动态语言的一个关键性质。 这个机制允许程序在运行时透过Reflection API取得任何一个已知名称的class的内部信息: 包括其
阅读全文
