![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础类
mlj1668956679
生活本是一艘无舵的船,而我却偏要做一个舵手;别人要一个故事,我却要一个传奇。我虽不是最优秀的,最有天赋的,最出色的,但我绝对是最努力的...
展开
-
JAVA 从注释开始
Java的学习和使用,单从添加注释,变量的命名,方法的命名,eclipse的使用都能体现出一个人Java的水平和职业素养!万丈高楼平地起...java注释分以下三种注释:1、单行(single-line)--短注释://…… 2、块(block)--块注释:/*……*/ 3、文档注释:/**……*/一、单行注释1、单行注释(Single-Line Commen原创 2013-05-25 11:50:19 · 634 阅读 · 0 评论 -
【深入Java虚拟机】之五:多态性实现机制——静态分派与动态分派
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17965867方法解析 Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标转载 2014-01-17 11:10:50 · 709 阅读 · 0 评论 -
【深入Java虚拟机】之六:Java语法糖
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18011009 语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家Peter.J.Landin发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。Java中最常用的语法糖主要有泛型、变转载 2014-01-17 11:11:26 · 610 阅读 · 0 评论 -
【深入Java虚拟机】之一:Java内存区域与内存溢出
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17565503内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所转载 2014-01-17 11:06:06 · 617 阅读 · 0 评论 -
【深入Java虚拟机】之二:Class类文件结构
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17675609 平台无关性 Java是与平台无关的语言,这得益于Java源代码编译后生成的存储字节码的文件,即Class文件,以及Java虚拟机的实现。不仅使用Java编译器可以把Java代码编译成存储字节码的Class文件,使用JRuby等其他语言的编译器也可转载 2014-01-17 11:08:23 · 776 阅读 · 0 评论 -
【深入Java虚拟机】之四:类加载机制
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17881581类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个转载 2014-01-17 11:09:57 · 637 阅读 · 0 评论 -
【Java并发编程】并发新特性—信号量Semaphore(含代码)
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17524153 在操作系统中,信号量是个很重要的概念,它在控制进程间的协作方面有着非常重要的作用,通过对信号量的不同操作,可以分别实现进程间的互斥与同步。当然它也可以用于多线程的控制,我们完全可以通过使用信号量来自定义实现类似Java中的synchronized、w转载 2014-01-17 14:59:08 · 621 阅读 · 0 评论 -
【Java并发编程】并发新特性—Executor框架与线程池(含代码)
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17465497Executor框架简介 在Java 5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动转载 2014-01-17 15:55:40 · 901 阅读 · 0 评论 -
【深入Java虚拟机】之三:类初始化
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17845821 类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码。虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化:遇到new、getstatic、putstatic、invokestatic这四条字节转载 2014-01-17 11:09:08 · 666 阅读 · 0 评论 -
【Java并发编程】并发新特性—阻塞队列和阻塞栈(含代码)
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17511147阻塞队列 阻塞队列是Java 5并发新特性中的内容,阻塞队列的接口是java.util.concurrent.BlockingQueue,它有多个实现类:ArrayBlockingQueue、DelayQueue、LinkedBlockingQ转载 2014-01-17 15:16:47 · 754 阅读 · 0 评论 -
【Java并发编程】并发新特性—Lock锁和条件变量(含代码)
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17487337简单使用Lock锁 Java 5中引入了新的锁机制——java.util.concurrent.locks中的显式的互斥锁:Lock接口,它提供了比synchronized更加广泛的锁定操作。Lock接口有3个实现它的类:ReentrantLo转载 2014-01-17 14:33:29 · 880 阅读 · 0 评论 -
【深入Java虚拟机】之七:Java编译与JIT编译
转载请注明出处:http://blog.csdn.net/ns_code/article/details/18009455编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现。很容转载 2014-01-17 11:12:03 · 749 阅读 · 0 评论 -
java中把一个数字转化为字符串
各种数字类型转换成字符串型: String s = String.valueOf( value); // 其中 value 为任意一种数字类型。 字符串型转换成各种数字类型: String s = "169"; byte b = Byte.parseByte( s ); short t = Short.parseShort( s ); int i = Integ转载 2014-03-28 11:38:11 · 1593 阅读 · 0 评论 -
Java中带标签的break的用法
在研究Android下断点上传文件时,遇到了一个java有意思的写法,break + 标签 积累下。package com.zhcv.example.socket.util;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IO原创 2013-12-23 16:39:01 · 3595 阅读 · 0 评论 -
Map排序
1)你可能按key值排序;2)按value值进行排序的情况。 大家都知道,默认的情况下,TreeMap:是按key升序,进行排序的;LinkedHashMap:是按加入顺序进行排序的;HashMap:内部数值的顺序并不是以存放的先后顺序为主,而是以hash值的顺序为主,其次才是存放的先后顺序。在这里我们只讨论如何实现HashMap的排序。1.我们先讨论按key值进行排序我们转载 2013-12-17 14:37:49 · 842 阅读 · 0 评论 -
在Java中使用定时任务的最佳实践
之前大部分人在遇到需要使用定时任务的时候首先会想到Timer类,用法一般就是: Java代码 new Timer("timer").schedule(new TimerTask() { @Override public void run() { System.out.转载 2013-05-25 12:25:07 · 680 阅读 · 0 评论 -
Source Insight 将UTF-8格式的JAVA文件转换为GB2312格式的JAVA文件
导师逼着要改进建议,正好最近几天组内的其他成员要进行code review,自己又不想将他们的代码导入eclipse,主要是自己有个强迫症,不喜欢看到工程中有错误和警告,导入他人的代码难免会产生错误。于是就想到了用Source Insight进行code review工作,比较悲催的是Source Insight好像不支持UTF-8的编码,公司的代码又都是UTF-8编码的,这就比较麻烦了(代码注释转载 2013-05-29 15:42:53 · 1079 阅读 · 0 评论 -
JAVA几个很有用的工具函数
/** * Logs the message. * * @param msg * the message. */ private void logMsg(String msg) { DateFormat dateFormat = new SimpleDateFormat("[dd-MM-yyyy HH:mm:ss]: "); Date dat原创 2013-07-04 11:00:07 · 748 阅读 · 0 评论 -
Java RandomAccessFile用法
RandomAccessFileRandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFile不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和DataOutput接转载 2013-07-29 15:57:00 · 609 阅读 · 0 评论 -
java中synchronized用法
synchronized的一个简单例子public class TextThread { /** * @param args */ public static void main(String[] args) { // TODO 自动生成方法存根 TxtThread tt = new TxtThread(); new Th转载 2013-08-01 11:39:35 · 632 阅读 · 0 评论 -
Java:使用Executors创建和管理线程
由于以前是搞Linux的,偶然的机会开始做android,所以java基础不是很扎实,全是自学的。近段时间经常用到java多线程编程。故积累下... 1. 类 Executors此类中提供的一些方法有:1.1 public static ExecutorService newCachedThreadPool()JDK API 1.6.0中的解释:pub原创 2013-08-02 17:31:22 · 803 阅读 · 0 评论 -
关于SAXReader解析XML以及JSONObject和JSONArray的使用总结
近来才越来越感到Java知识的匮乏,先是synchronized和多线程管理的卡壳,现在将这几天用到的知识进行总结: 1.用SAXReader解析xml文档 使用SAXReader需要导入dom4j-full.jar包。 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具原创 2013-08-05 15:14:53 · 1391 阅读 · 0 评论 -
Java中的反射机制
一、什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、OpenC++ 、MetaXa和OpenJava等就是基于反射机制的语言。最近,反射机制也被应用到了视窗系统、转载 2013-08-15 14:45:08 · 567 阅读 · 0 评论 -
Tomcat7.0配置教程
1、Tomcat 7.0 (请到官网下载)的免安装版的配置(假如将Tomcat 解压到C:\Program Files目录,目录结构为:C:\Program Files\apache-tomcat-7.0.371、添加环境变量:在 我的电脑->属性->高级->环境变量2、新建系统变量,变量名:CATALINA_HOME 变量值:C:\Program Files\apache-tom原创 2013-08-16 11:05:29 · 2216 阅读 · 0 评论 -
Java比较有用的进制转换API函数
java中各种进制之间的转换在网上已经很多。在开发中用到了一个十六进制字符串转ACSII码的需求。下面的两个API绝对是个利器。 /** * 十六进制字符串装十进制 * * @param hex * 十六进制字符串 * @return 十进制数值 */ public static int hexSt原创 2013-10-25 17:10:27 · 2406 阅读 · 0 评论 -
java一些好用的函数自制API
平时积累一些好用的函数形成自己的函数库是个提高工作效率的好方法!Java中运用数组的四种排序方法:1.利用Arrays带有的排序方法快速排序import java.util.Arrays;public class Test2{ public static void main(String[] args){ int[] a={5,4,2,原创 2013-12-13 13:23:21 · 1081 阅读 · 0 评论 -
JFrame替换掉标题栏上默认的咖啡杯图标
近段时间开发java应用软件,在用java的swing开发用户界面时遇到一个问题,就是生成的窗口的标题栏的Sun公司的咖啡杯图标一直替换不掉。经过努力替换成功了。以下是解决方案! 其实网上有大量的解决方案,但是很多试了之后发现不成功。不成功的原因之后说。首先步骤如下:1.找一张合适的图片2.代码中获取图片之后用JFrame frame = new原创 2013-12-16 10:25:33 · 5518 阅读 · 0 评论 -
NB可阻塞队列
Condition 实例实质上被绑定到一个锁上。要为特定 Lock 实例获得 Condition 实例,请使用其 newCondition() 方法。 作为一个示例,假定有一个绑定的缓冲区,它支持 put 和 take 方法。如果试图在空的缓冲区上执行 take 操作,则在某一个项变得可用之前,线程将一直阻塞;如果试图在满的缓冲区上执行 put 操作,则在有空间变得可用之前,线程将一直阻塞原创 2014-07-05 22:02:30 · 525 阅读 · 0 评论