【Java】
leifchen90
专注学习,码出高效。
展开
-
线程
线程是指程序在执行过程中,能够执行程序代码的一个执行单元。在 Java 语言中,线程有四种状态:运行、就绪、挂起、结束。进程是指一段正在执行的程序。而线程也被成为轻量级的进程,一个进程可以拥有多个线程。原创 2018-10-09 20:53:14 · 89 阅读 · 0 评论 -
happens-before
JSR-133 使用 happens-before 的概念来指定两个操作之间的执行顺序。1. 如果一个操作 happens-before 另一个操作,那么第一个操作的执行结果将对第二个操作可见,而且第一个操作的执行顺序排在第二个操作之前。2. 两个操作之间存在 happens-before 关系,并不意味着Java平台的具体实现必须要按照 happens-before 关系指定的顺序来执行。如果重排序之后的执行结果,与按 happens-before 关系来执行的结果一致,那么这种重排序并不非法原创 2019-04-29 08:08:38 · 156 阅读 · 0 评论 -
Servlet
详细介绍了 Servlet 的整体结构,并结合源码解读。原创 2019-04-24 09:09:52 · 92 阅读 · 0 评论 -
Java 解析 XML
四种解析方式:1. DOM2. SAX3. JDOM4. DOM4JDOM、SAX 是解析 XML 的基础方式, JDOM、DOM4J 是基于底层 API 的高级封装。DOM 是通用的,具有跨语言、跨平台性,而 JDOM 和 DOM4J 则是面向 Java 语言的。原创 2019-01-15 20:36:39 · 137 阅读 · 0 评论 -
多线程之内存可见性
可见性:一个线程对共享变量值得修改,能够及时地被其他线程看到。原创 2018-12-21 19:03:51 · 530 阅读 · 0 评论 -
Synchronized 关键字
synchronized 同步方法支持一种简单的策略来防止线程干扰和内存一致性错误:即如果一个对象对多个线程可见,则该对象变量的所有读写操作都是通过同步方法完成。被 synchronized 修饰的代码段,能够保证在同一时刻最多只有一个线程执行,以达到保证并发安全的效果。原创 2018-12-26 20:50:16 · 139 阅读 · 0 评论 -
数字签名
数字签名是一个带有密钥的消息摘要算法,这个密钥包括了公钥和私钥,用于验证数据完整性、认证数据来源和抗否认,遵循 OSI 参考模型、私钥签名和公钥验证。也是非对称加密算法和消息摘要算法的结合体,常见的数字签名算法主要有 RSA、DSA、ECDSA 三种。原创 2018-12-03 11:49:13 · 195 阅读 · 0 评论 -
Java 实现对称加密
对称加密指加密和解密使用相同密钥的加密算法。本文介绍了 DES、3重DES、AES 和 PBE 这些常见的对称加密算法在 Java 中的实现。原创 2018-12-03 10:19:29 · 1461 阅读 · 0 评论 -
Java 实现非对称加密
非对称加密算法是一种基于密钥的保密方法,需要公开密钥和私有密钥,本文主要介绍了 DH、RSA 和 ELGamal 这3种常见的非对称加密算法在 Java 中的应用。原创 2018-12-03 10:15:31 · 7071 阅读 · 0 评论 -
Java 生成二维码
二维码是指用某种特定的几何图形按一定规律在平面分布的黑白相间的图形记录数据符号信息的图形。原创 2018-11-27 15:28:00 · 148 阅读 · 0 评论 -
单例模式
单例模式(Singleton Pattern)属于创建型模式,提供了一种创建对象的最佳方式。即类仅负责创建自己的对象,同时确保只有单个对象被创建,并提供了一种访问其唯一的对象的方式。因此,该类的构造函数是私有的。原创 2018-11-27 08:56:52 · 99 阅读 · 0 评论 -
Java 的 Base64、消息摘要算法加密
介绍 Base64、MD5、SHA-1、SHA-224、HmacMD5 相关算法,并使用 Java 代码实现。原创 2018-11-29 16:49:58 · 237 阅读 · 0 评论 -
SpringBoot 集成 AMQP 连接 RabbitMQ
入门 RabbitMQ 消息中间件并集成 SpringBoot 2.x原创 2018-11-22 21:37:09 · 553 阅读 · 0 评论 -
Java 消息中间件
消息中间件:关注于数据的发送与接收,利用高效可靠的异步消息传递机制集成分布式系统。原创 2018-11-19 14:39:27 · 747 阅读 · 0 评论 -
反射
Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为 Java 语言的反射机制。原创 2018-10-10 08:16:55 · 68 阅读 · 0 评论 -
动态代理
Spring AOP 的底层实现有两种方式:一种是 JDK 动态代理,另一种是 CGLib 动态代理。JDK 动态代理主要涉及 `java.lang.reflect` 包下边的两个类:`Proxy` 和 `InvocationHandler` 。其中 `InvocationHandler` 是一个接口,可以通过实现该接口定义横切逻辑,并通过反射机制调用目标类的代码,动态地将横切逻辑和业务逻辑编织在一起。JDK 动态代理的限制,是它只能为接口创建代理实例。对于没有通过接口定义业务方法的类,只能通过原创 2018-10-10 08:14:59 · 111 阅读 · 0 评论 -
Error 与 Exception 区别
Exception 和 Error 都是继承了 Throwable 类,在 Java中 只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。本文详细介绍了 Exception 和 Error 的区别。原创 2019-04-30 13:20:17 · 407 阅读 · 0 评论