技术随手记


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

Java信号量Semaphore类的简单介绍

发表于 2017-05-12 |
Java信号量Semaphore类的简单介绍
Semaphore可以完成信号量控制,Semaphore可以控制某个资源可被同时访问的数目,通过acquire()获取一个许可,如果没有就等待,而release()释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。 Semaphore实现的功能就类似厕所有5个坑,假如有10个人要上厕所,那么同时只能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个人中 的任何一个人 ...
阅读全文 »

彻底理解ThreadLocal

发表于 2017-05-11 |
彻底理解ThreadLocal
阅读全文 »

用实例揭示notify()和notifyAll()的本质区别

发表于 2017-05-11 |
用实例揭示notify()和notifyAll()的本质区别
notify()和notifyAll()都是Object对象用于通知等待该对象的线程的方法。 notifyAll使所有原来在该对象上等待的线程统统退出wait的状态,变成等待该对象上的锁,一旦该对象被解锁,它们就会去竞争。notify则只是选择一个wait状态线程进行通知,并使它获得该对象上的锁,但不惊动其他同样在等待被该对象notify的线程们,当第一个线程运行完毕以后释放对象上的锁此时如果该对 ...
阅读全文 »

java8 lambda学习笔记之编译与运行过程

发表于 2017-05-11 |
java8 lambda学习笔记之编译与运行过程
阅读全文 »

一个Java类被JVM虚拟机加载的详细流程

发表于 2017-05-10 | 分类于 java |
Java的类加载机制
类的生命周期:加载、验证、准备、解析、初始化、使用、卸载类加载过程 :加载、验证、准备、解析、初始化 加载、验证、准备、初始化、解析 解析阶段可以在初始化之前或之后开始,在之后开始可以实现动态绑定。 类加载过程五阶段的第一阶段——加载1、根据类的全限定名来加载类.class文件的字节流。2、将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。 3、在Java堆 ...
阅读全文 »

Java虚拟机:Java类加载机制

发表于 2017-05-09 | 分类于 java |
Java虚拟机:Java类加载机制
源代码(.java)会被编译为class文件(.class文件),.class文件描述了类的各种信息,.class文件需要加载到虚拟机之后才能运行和使用。 类加载使用的7个阶段类从加载到虚拟机到到卸载出内存,整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initiallization)、使用(Usi ...
阅读全文 »

如何配置Policy文件进行Java安全策略的设置

发表于 2017-05-09 |
如何配置Policy文件进行Java安全策略的设置
Java语言具有完善的安全框架,从编程语言、编译器、解释程序到Java虚拟机,都能确保Java系统不被恶意的代码或敌对的编译器暗中破坏,它们能够保证Java代码按预定的规则运作。但是如果需要逾越这些限制时,比如读写文件,监听和读写Socket,退出Java系统,就必须使用数字签名或安全策略文件(*.Policy)。 在企业内部网中,推荐使用安全策略文件来设置java程序权限。企业内部网中各台计 ...
阅读全文 »

java安全管理器SecurityManager

发表于 2017-05-09 |
java安全管理器SecurityManager
问题的提出阅读源码中关于SecurityManager的代码1234SecurityManager security = System.getSecurityManager();if (security != null) { security.checkWrite(name);} 在本机运行正常,在服务器运行报错权限错误:123456Exception in thread ...
阅读全文 »

编写java的安全管理器

发表于 2017-05-09 | 分类于 java |
编写java的安全管理器
安全管理器SecurityManager核心方法checkPerssiom,而该方法又调用AccessController的checkPerssiom方法,访问控制器AccessController的栈检查机制会遍历整个PerssiomCollection来判断具体拥有什么权限,一旦发现栈中一个权限不允许会抛出异常,否则简单的返回。 编写java的安全管理器定义一个类继承自SecurityMang ...
阅读全文 »

Reflections中的getDeclared**与get**的区别

发表于 2017-05-02 | 分类于 java |
Reflections中的getDeclared**与get**的区别
getDeclaredMethod(s)返回该类本身的所有方法(包括私有方法),但不包括继承的方法。返回数组中的元素没有排序,也没有任何特定的顺序。如果该类或接口不声明任何方法,或此Class对象表示一个基本类型、数组类型或void,则此方法返回一个长度为0的数组。 类初始化方法不包含在返回数组中。 该方法返回所有重载的方法。 getMethod(s)返回某个类的所有public(包括继承来pub ...
阅读全文 »
12…7
技术随手记

技术随手记

67 日志
40 分类
47 标签
RSS
© 2017 技术随手记
由 Hexo 强力驱动
主题 - NexT.Mist