java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
we.think
一种新技术一旦开始流行,你要么坐上压路机,要么成为铺路石
展开
-
Java之AccessController安全模型
目录一、JDK的安全模型1.1 JDK1.0 安全模型1.2 JDK1.1 安全模型1.3 JDK 1.2 安全模型1.4 最新安全模型二、AccessController2.1 方法摘要作为一种诞生于互联网兴起时代的语言,Java从一开始就带有安全上的考虑,如何保证通过互联网下载到本地的Java程序是安全的,如何对Java程序访问本地资源权限进行有限授权,这些安全角度的考虑一开始就影响到Java语言的设计与实现。可以说Java在这些方面的探索与经验,对后来的一些语言与产品都带来了积极影响。一、JDK的原创 2020-11-22 15:52:05 · 857 阅读 · 1 评论 -
Java之Unsafe技术揭秘
目录一、Unsafe对象创建二、对象操作1.1 对象内存分配Unsafe类是在sun.misc包下,不属于Java标准。但是很多Java的基础类库,包括一些被广泛使用的高性能开发库都是基于Unsafe类开发的,比如Netty、Hadoop、Kafka等。使用Unsafe可用来直接访问系统内存资源并进行自主管理,Unsafe类在提升Java运行效率,增强Java语言底层操作能力方面起了很大的作用。Unsafe可认为是Java中留下的后门,提供了一些低层次操作,如直接内存访问、线程调度等。官方并不建议使用Un原创 2020-11-05 00:26:07 · 958 阅读 · 0 评论 -
Java之SecurityManager安全管理器
目录一、 启停安全管理器1.1 启用1.2 关闭二、安全策略2.1 默认配置2.2 策略准则三、SecurityManager3.1 概要描述3.2 方法摘要3.3 使用SecurityManager是一个允许应用实现一种安全策略的类。应用在执行一个安全或敏感的操作之前,可以明确此操作是否在一个安全的上下文中被执行。一、 启停安全管理器1.1 启用系统启动开启JVM参数:-Djava.security.manager当运行一个程序,可以指定JVM命令-Djava.security.manage原创 2020-10-19 00:39:33 · 3238 阅读 · 0 评论 -
Java反射-类基本操作
目录一、Class对象1.1 类描述1.2 类方法1.3 特点二、获取类对象2.1 获取类对象方式Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。实际上,我们创建的每一个类也都是对象,即类本身是java.lang.Class类的实例对象。这个实例对象称之为类对象,也就是Class对象。那么,Class对象又是什么对象呢?一、Class对象1.1原创 2020-10-18 20:05:23 · 306 阅读 · 0 评论 -
Java基础之jdk8 ConcurrentHashMap源码解读
目录一、jdk1.8容器初始化1.1 源码分析1.2 sizeCtl含义解释一、jdk1.8容器初始化1.1 源码分析1.2 sizeCtl含义解释注意:以上这些构造方法中,都涉及到一个变量sizeCtl,这个变量非常重要。sizeCtl有非常丰富的值,并且含义也不一样。sizeCtl=0,代表数组未被初始化,默认初始容量为16;sizeCtl>0,如果数组未初始化,那么记录数组的初始容量。如果数组已初始化,那么其记录数组的扩容阈值(数组的初始容量 * 0.75);sizeCtl=-1原创 2020-09-19 11:22:57 · 1448 阅读 · 3 评论 -
Java基础之jdk8 HashMap源码解读
目录一、存储特点1.1 数据结构的演变1.2 特点二、类结构2.1 继承关系2.2 成员变量2.3 构造方法2.3.1 HashMap(int initialCapacity, float loadFactor)2.3.2 HashMap(Map<? extends K, ? extends V> m)2.4 成员方法2.4.1 添加节点元素2.4.2 内部添加节点元素2.4.3 将链表转换为红黑树2.4.4 扩容2.4.5 删除2.4.6 查找元素三、思考题3.1 jdk8为何需要引入红黑树?原创 2020-09-17 00:47:02 · 418 阅读 · 0 评论 -
Java基础知识
一、ThreadPoolExecutorpublic ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> w原创 2020-05-22 01:26:36 · 280 阅读 · 0 评论 -
加密算法之AES
AES一、pom二、AES-128位-有向量-CBC/PKCS5Padding一、pom<dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.13</version>...原创 2019-09-03 17:29:20 · 1080 阅读 · 0 评论 -
Log4j日志决战
log4j一、 Log4j简介01. Loggers02. Appenders03. Layouts二、配置详解01. 配置根Logger02. 配置日志信息输出目的地(appender)03. 配置日志信息的输出格式(Layout)三、配置文件的位置01. 默认加载02. 自定义加载四、案例一、 Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源...原创 2019-09-02 13:04:50 · 1618 阅读 · 0 评论 -
Java String深度探幽
Java String深度探幽01. 概述02. 内存分析2.1 常量赋值2.2 new对象2.3 字符串常量拼接操作(+)2.4 非常量字符串拼接(+)04. intern方法05. 总结01. 概述 类定义public final class String implements java.io.Serializable, Comparable<String>, Cha...原创 2019-06-02 10:32:10 · 367 阅读 · 0 评论 -
synchronized深度探幽
synchronized深度探幽01. 应用概述02. 原理概要03. 原理详解3.1 Java对象头3.2 Monitor04. 底层实现4.1 synchronized 代码块底层原理4.2 synchronized 方法底层原理05. 锁的状态和优化5.1 低版本锁问题5.2 锁状态5.2.1 偏向锁5.2.2 轻量级锁5.2.3 重量级锁5.2.4 适应性自旋锁06. 锁的优化6.1 锁粗...原创 2019-06-02 10:28:45 · 873 阅读 · 0 评论 -
Java JNI 之 深入浅出
Java JNI 之 深入浅出01. 概述02. JNI 接口函数和指针2.1 JNI函数定义2.2 JNI指针03. JNI C++3.1 Java原始与JNI类型映射关系3.2 Java对象3.2.1 String对象3.2.2 Array对象3.2.3 Java对象04. 实现4.1 java native方法类定义4.2 编译JNI类的.h文件05. C++工程01. 概述Java瓶...原创 2019-06-02 10:09:12 · 697 阅读 · 0 评论