Java开发手册
根据自己开发多年经验,整理所掌握的技术。方便学习交流,持续更新。此专栏包括Java中常用的开发架构和开发工具,以及各种中间件的使用。
lzq199528
从事软件开发数年,对前端后端有独特见解。
展开
-
Java-基于注解修改代码,处理响应前端数据字典及关联对象
ast(抽象语法树), JSR-269,插入式注解处理API,数据字典处理,关联字段处理原创 2022-12-27 11:30:36 · 433 阅读 · 1 评论 -
关于Integer 为什么除了 -128到127。用==号比较返回false问题
Integer a = 128 等价于 Integer a = new Integer(128) // 自动装箱if (a == 128) 等价于 if (a.intValue() == 128) // 自动拆箱if (new Integer(128) == new Integer(128)) // falseif (new Integer(127) == new Integer(127)) // ture // -128 到 127 被Integer 静态内部类缓存Integer 内.原创 2020-11-13 10:56:21 · 198 阅读 · 0 评论 -
类加载生命周期
1. 加载1. 通过一个类的全限定名获取定义此类的二进制字节流2. 将这个字节流所代表的的静态存储结构转化为方法区的数据结构3. 在内存中生成一个代表这个类的class对象,作为方法区这个类的各种数据访问入口2. 验证1. 验证class文件的字节流中包含的信息符合《java虚拟机规范》的全部约束,保证这些信息被当做代码运行时不会危害虚拟机本身2. 文件格式验证。元数据验证。字节码验证。符号引用验证3. 准备1. 准备阶段是为类的定义的静态变量分配内存并设置类静态变量初始值的阶段pu原创 2020-11-13 10:51:25 · 117 阅读 · 0 评论 -
java反应式编程 解释 及 示例
名词说明Publisher出版商(发布者)Subscriber订阅人Subscription订阅管理Processor订阅者和出版商的组合出版商(Publisher)接口声明了一个方法subscribe()(订阅)。订阅人(Subscriber)可以通过此方法向出版商(Publisher)发起订阅。出版商(Publisher)创建数据,并将数据发送给订阅的订阅人(Subscriber)。public interface Publisher<...原创 2020-10-22 12:36:44 · 804 阅读 · 0 评论 -
java函数式编程 示例
/** * @author 刘志强 * @date 2020/8/29 14:30 */public class FunctionalTest { public static void main(String[] a) { // 不带参数的 test(FunctionalTest::aaa); test(() -> "bbb"); // 带参数的 FunctionalTest.testTwo(Fu..原创 2020-10-22 12:35:42 · 566 阅读 · 0 评论 -
springboot 初搭建
SpringBoot 搭建教程原创 2018-01-02 16:37:27 · 830 阅读 · 1 评论 -
java 基础面试题及答案。持续更新
JDK 和 JRE 有什么区别?jdk是Java开发包,jre是Java运行环境== 和 equals 的区别是什么?== 比较的是地址,equals比较的是内容两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?hashCode() 和 equals() 都是可以重写的。返回完全自己定义。但是开规范上来讲,最好一致。(规范上)重写equ...原创 2019-09-18 14:39:24 · 428 阅读 · 0 评论 -
synchronized 和Lock的使用
synchronized 和 Lock的区别synchronized是java中的一个关键字,也就是说是Java语言内置的特性。Lock不是Java语言内置的,Lock是一个接口。Lock和synchronized有一点非常大的不同,采用synchronized不需要用户去手动释放锁,当synchronized方法或者synchronized代码块执行完之后,系统会自动让线程释放对锁的占用...原创 2019-08-28 18:13:52 · 369 阅读 · 0 评论 -
IJPay-All 之 微信支付之app支付
IJPay-All文档地址1. maven中引入开发包 <dependency> <groupId>com.github.javen205</groupId> <artifactId>IJPay-All</artifactId> <versio...原创 2019-09-27 10:29:08 · 3304 阅读 · 3 评论 -
java基础之Set
HashSetHashSet 的实现是基于HashMap。看代码private transient HashMap<E,Object> map; public boolean add(E e) { return map.put(e, PRESENT)==null;}HashSet的实现是利用了HashMap.是将对象作为Key来存入HashMap....原创 2019-08-27 14:54:45 · 101 阅读 · 0 评论 -
Java基础之集合Map
Map1. HashMap 是根据数组加单向链表来实现的,由数组的出现更好的定位对象更(查询),链表的出现更容易操作对象(删除,添加)2. 数组中存储的就是Node对象链表节点类 // hash 哈希值 // key key信息 // value value信息 // next 下一个节点 static class Node<K,V> im...原创 2019-08-26 16:02:38 · 154 阅读 · 0 评论 -
Java基础之集合List(ArrayList, LinkedList 和 Vector 的区别)
ListList是一个接口,实现类常用的有 ArrayList, LinkedList 和 VectorArrayList1. 基于数组实现的的, 根据容量大小利用Arrays.copyOf方法实现动态扩容。源码 // elementData 动态数组 public boolean add(E e) { ensureCapacityInternal(siz...原创 2019-08-26 13:58:51 · 1185 阅读 · 0 评论 -
java基础之约束关键字 public、private、protected, default
关键字所在类同一个包的类子类不同包的非子类public可以访问可以访问可以访问可以访问protected可以访问可以访问可以访问不可以访问default可以访问可以访问不可以访问不可以访问private可以访问不可以访问不可以访问不可以访问public 是权限最宽松的约束词,只要在本项目内在所有的类中都可以访问pub...原创 2019-08-26 13:55:31 · 365 阅读 · 0 评论 -
极光推送后端使用
官方开发包及示例官方api文档开发包 <!--极光推送发开包,版本请选择最新版本--> <dependency> <groupId>cn.jpush.api</groupId> <artifactId>jpush-client</artifactId...原创 2019-09-26 09:13:35 · 643 阅读 · 0 评论