
JAVA
文章平均质量分 69
yangzheng114
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java wait和notify时不起作用要注意的事项。
1. wait和notify永远都是要synchronized块里面执行的synchronized(对象){对象.wait(); // 或者 对象.notify(); } 2. synchronized中的对象不能被修改,之前就是使用一个静态变量,然后修改它的值 ,结果就不起作用了,永远不能notify了。最好是使用final或者以参数的形式传递进去转载 2014-02-20 21:30:12 · 2715 阅读 · 0 评论 -
mac 上的java
1 在 mac终端下 输入 java -version 是na'l转载 2014-08-04 14:50:21 · 579 阅读 · 0 评论 -
http://blog.youkuaiyun.com/jgwei/article/details/10582735
先启动服务,把终端中的Using JRE_HOME: /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home类似这样的路径记录下来,可能你的和我的不一样删除这些文件,你也可以移动到别的地方备份好sudo rm -rf /System/Library/Java/转载 2014-08-01 16:39:22 · 537 阅读 · 0 评论 -
Java 多线程(六) synchronized关键字详解
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。 同步机制可以使用synchronized关键字实现。 当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。 当synchronized方法执行完或发生异常时,会自动释放锁。 下面通过一个例子来对synchronize转载 2015-11-19 09:27:49 · 302 阅读 · 0 评论 -
HTTP头部详解
HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编转载 2015-11-26 15:04:25 · 556 阅读 · 0 评论 -
Java中可变长参数的使用及注意事项
在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print("hello","lisi");print("hello","张三", "alexia");下面介绍如何定义可变长参数 以及如何使用可变长参数。1. 可变长参数的定义使用...表示可变长参数,例如转载 2015-12-03 09:49:14 · 354 阅读 · 0 评论 -
java的动态代理机制详解
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在java的动态代理机制中,有两个重要的类或转载 2015-12-07 15:35:41 · 205 阅读 · 0 评论 -
java反射详解
本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名123456789101112131415package Reflect;转载 2015-12-07 15:36:48 · 448 阅读 · 0 评论 -
Java的文件读写操作
file(内存)----输入流---->【程序】----输出流---->file(内存)当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统转载 2016-01-27 17:42:27 · 871 阅读 · 0 评论 -
Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造转载 2016-03-07 16:02:19 · 323 阅读 · 0 评论 -
ReentrantLock的使用
ReentrantLock是一个可重入的互斥锁,重入锁是一种递归无阻塞的同步机制。ReentrantLock由最近成功获取锁,还没有释放的线程所拥有,当锁被另一个线程拥有时,调用lock的线程可以成功获取锁。如果锁已经被当前线程拥有,当前线程会立即返回。 重入锁的构造方法提供一个可选的公平参数: 公平情况下,操作会排一个队按顺序执行,来保证执行顺序。转载 2016-03-07 17:01:08 · 355 阅读 · 0 评论 -
java中线程队列BlockingQueue的用法
在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。[@more@]认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列在数转载 2016-03-08 14:33:17 · 327 阅读 · 0 评论 -
Java获取随机数的3种方法
方法1(数据类型)(最小值+Math.random()*(最大值-最小值+1))例:(int)(1+Math.random()*(10-1+1))从1到10的int型随数方法2获得随机数for (int i=0;i{System.out.println((int)(1+Math.random()*10));}(int)(1+Math.random()*10)转载 2016-05-11 15:02:38 · 677 阅读 · 0 评论 -
Ant 利用第三方的task
一、如何使用第三方任务 Ant可以使用第三方任务,在使用第三方任务之前,需告知Ant,这就是任务的用意。 Ant中声明第三方任务有一下几种方法: 1、声明中指定任务类名,比如: classname="xdoclet.doc.DocumentDocletTask" classpath="${xdoclet.jar}"转载 2016-05-13 16:35:32 · 314 阅读 · 0 评论 -
学习java io流
转载:http://blog.youkuaiyun.com/zzp_403184692/article/details/8057693 今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板、内存、键盘等处理设备上得数据操作,根据处转载 2016-09-27 16:12:57 · 316 阅读 · 0 评论 -
【Java线程】Java线程池ExecutorService
转载:http://blog.youkuaiyun.com/vking_wang/article/details/9619137示例[java] view plain copy print?import java.util.concurrent.ExecutorService; import java.util.concurrent.E转载 2016-10-18 11:48:34 · 289 阅读 · 0 评论 -
JavaMD5
public class CalPrivateKey {public static void main(String[] args) {String appKey = "cee56d5722ea3afbef390e4dd1beda77";String appSecret ="010b02dd9b580f116c5352c5ecb7ca92";St转载 2014-03-20 11:19:28 · 672 阅读 · 0 评论 -
Java异常处理机制【转载】
一、 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体现。 Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exce转载 2014-03-09 14:48:37 · 500 阅读 · 0 评论 -
Reactor模式和NIO
本文可看成是对Doug Lea Scalable IO in Java一文的翻译。当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构:1. Read request2. Decode request3. Process service4. Encode reply5. Send reply经典转载 2014-02-08 17:56:55 · 569 阅读 · 0 评论 -
fat jar 安装
Fat Jar Eclipse Plug-In是一个可以将Eclipse Java Project的所有资源打包进一个可执行jar文件的小工具,可以方便的完成各种打包任务,我们经常会来打jar包,但是eclipse自带的打jar似乎不太够用,Fat Jar是eclipse的一个插件,特别是Fat Jar可以打成可执行Jar包,并且在图片等其他资源、引用外包方面使用起来更方便。 安装方法:转载 2014-02-20 21:29:39 · 800 阅读 · 0 评论 -
Java异常处理机制【转载】
一、 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体现。 Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exce转载 2014-02-20 21:30:59 · 472 阅读 · 0 评论 -
Java NIO原理和使用
Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。Java NIO非堵塞技术实际是采取Rea转载 2014-02-08 17:55:47 · 556 阅读 · 0 评论 -
Android 系统信息获取(CPU,RAM,ROM,Battery,SD-card,版本等)
一、内存(ram):android的总内存大小信息存放在系统的/proc/meminfo文件里面,可以通过读取这个文件来获取这些信息:[java] view plaincopypublic void getTotalMemory() { String str1 = "/proc/meminfo";转载 2014-02-20 16:39:39 · 944 阅读 · 0 评论 -
JAVA NIO 简介
1. 基本 概念IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。所有语言运行时系统提供执行 I/O 较高级别的工具。 (c 的 printf scanf,java 的面向对象封装 )2. Java 标准 io 回顾Java 标准 IO 类库是 io 面向对象的一种抽象。基于本地方法的底层转载 2014-02-08 16:03:13 · 448 阅读 · 0 评论 -
java反射详解
本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名12345678910111213转载 2014-03-10 22:21:13 · 395 阅读 · 0 评论 -
eclipse中安装tomcat插件
一、软件下载Eclipse3.6 IDE for Java EE Developers: 下载地址:http://eclipse.org/downloads/Tomcat Eclipse Plugin, 下载地址:http://www.eclipsetotale.com/tomcatPlugin.html二、软件安装和配置(图文)1.解压Eclipse到某个目录,例如/us转载 2014-03-12 21:17:24 · 712 阅读 · 0 评论 -
JAVA基础之理解JNI原理
JAVA基础之理解JNI原理JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。有了JAVA标准平台的支持,使JNI模式更加易于实现和使用。在此总结了下面这个知识图:实例:环境说明:ubuntu 10.4.2 LTS系统程序清单1:转载 2014-03-11 21:06:08 · 548 阅读 · 0 评论 -
装饰者模式
MM们要过生日了 ,怎么也得表示下吧。最起码先送个蛋糕。蛋糕多种多样了。巧克力,冰淇淋,奶油等等。这都是基本的了 ,再加点额外的装饰,如蛋糕里放点花。放贺卡。放点干果吃着更香等等。看看我是如何设计的。 我想既然是蛋糕,那我就把蛋糕作为一个抽象类,剩下的蛋糕子类型来继承它,每个子类都有吃该蛋糕的感觉 ^_^,看起来真的不错。蛋糕的子类分别是奶酪蛋糕,巧克力蛋糕,冰淇淋蛋糕,插花的转载 2014-03-12 21:16:24 · 452 阅读 · 0 评论 -
第三章 HTTP状态管理
第三章 HTTP状态管理原始的HTTP是被设计为无状态的,面向请求/响应的协议,没有特殊规定有状态的,贯穿一些逻辑相关的请求/响应交换的会话。由于HTTP协议变得越来越普及和受欢迎,越来越多的从前没有打算使用它的系统也开始为应用程序来使用它,比如作为电子商务应用程序的传输方式。因此,支持状态管理就变得非常必要了。网景公司,一度成为Web客户端和服务器软件开发者的领导方向,在它们基于转载 2014-03-12 21:20:17 · 513 阅读 · 0 评论 -
jdk和tomcat7的配置方法
一、安装JDK 1.7 1、JDK1.7下载地址:进入官方下载 烈火下载JDK1.7(Win-32Bit)频道 2、添加环境变量:在 我的电脑->属性->高级->环境变量 2、新建系统变量,变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0 (JDK的安装目录) 3、在原有的系统变量 Path后面加上英文分号,再添加%J转载 2014-03-12 21:17:57 · 1770 阅读 · 0 评论 -
ExecutorService生命周期
转自http://victorzhzh.iteye.com/blog/1010359ExecutorService接口继承了Executor接口,定义了一些生命周期的方法Java代码 public interface ExecutorService extends Executor { void shutdown(); List转载 2016-10-18 11:49:39 · 314 阅读 · 0 评论