Java
文章平均质量分 69
Kitty_London
正在输入,边学边走。。。
展开
-
java线程同步原理及wait,notify的用法及与sleep的区别
一。 java线程同步原理 java会为每个object对象分配一个monitor,当某个对象的同步方法(synchronized methods )被多个线程调用时,该对象的monitor将负责处理这些访问的并发独占要求。 当一个线程调用一个对象的同步方法时,JVM会检查该对象的monitor。如果monitor没有被占用,那么这个线程就得到了monitor的占有权,可以继续执行该对象的同步转载 2015-05-29 09:29:37 · 1119 阅读 · 0 评论 -
Java虚拟机内存管理(一)--Java内存区域与内存溢出异常
概述 对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不在需要为没哟个new操作去写配对的delete/free代码(C/C++语音这样操作),不容易出现内存泄露和内存 溢出问题,由虚拟机管理内存,这一切看起来都很美好。 不过,也正是因为Java程序员把内存控制的权利交给了Java虚拟机,一旦出现内存泄露和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将转载 2017-11-30 19:50:31 · 347 阅读 · 0 评论 -
实现线程同步的几种方式
为什么要使用同步 Java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查),将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程调用,从而保证了该变量的唯一性和准确性。 Java提供了一种内置的锁机制来支持原子性。每个Java对象都可以用作一个实现同步的锁,称为内置锁。线程进入同步代码块之前自动获取到锁,转载 2018-01-09 10:41:08 · 6206 阅读 · 0 评论 -
Java虚拟机内存管理(二)--垃圾收集器及内存分配策略
概述 Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由JIT编译器进行一些优化,但在本章基于概念模型的讨论中,大体上可以认为是编译期可知的),因此这几个区域的内存分配和回收都具备确定性,在这几个区转载 2018-01-11 14:51:59 · 338 阅读 · 0 评论 -
InputStream与String,Byte之间互转
本文将介绍InputStream与String,Byte之间的相互转换转载 2016-07-01 14:44:40 · 492 阅读 · 0 评论 -
删除文件及文件夹
删除文件: public boolean deleteFile(String sPath) { boolean flag = false; if(sPath == null){ return false; } File file = new File(sPath); if (file原创 2015-08-06 10:00:20 · 622 阅读 · 0 评论 -
java enum
enum就像一个特殊的class,他可以有自己的变量,可以定义自己的方法,可以实现一个或多个接口。在声明一个enum类型时,要注意它的一些特征。原创 2015-08-13 15:10:48 · 555 阅读 · 0 评论 -
Android执行shell命令(top查看CPU信息)
转载http://vaero.blog.51cto.com/4350852/778139 一、方法 /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"}) * @param workdirectory * 命令执行路径(例如:"sys转载 2015-07-09 11:02:56 · 5916 阅读 · 0 评论 -
HashMap的理解
HashMap为什么是线程不安全的? 一直以来只是知道HashMap是线程不安全的,但是到底HashMap为什么线程不安全,多线程并发的时候在什么情况下可能出现问题? HashMap底层是一个Entry数组,当发生hash冲突的时候,HashMap是采用链表的方式来解决的,在对应的数组位置存放链表的头结点。对链表而言,新加入的节点会从头结点加入。 java原创 2018-01-10 17:30:08 · 363 阅读 · 0 评论