Java - 军军小站|张军博客
Java

Java中assert和静态导入的使用

Java中assert和静态导入的使用最近一直在做测试,发现了一些JDK1.5中的一些新的语法特性,在开发的时候确实省了不少时间,在此做简要的记录:assert的用法assertexpression1;assertexpression1:expression2;如果expression1为true,则不抛出错误,程序正常运行,expression2也不会执行。如果expression1为false,则抛出异常,程序中断跳出,expression2执行。一般

系统 2019-08-29 22:53:31 2196

Java

java学习笔记(十八)代码块

代码块1:普通代码块:直接定义在方法中的代码publicclassMainDemo01{publicstaticvoidmain(Stringargs[]){{intc=40;System.out.println(c);}intc=100;System.out.println(c);}}输出为:F:\java>javacMainDemo01.javaF:\java>javaMainDemo01one401002:构造代码块:直接定义在类中的代码classD

系统 2019-08-12 09:30:27 2196

Java

JAVA线程池代码浅析

1.ExecutorServiceJava从1.5开始正式提供了并发包,而这个并发包里面除了原子变量,synchronizer,并发容器,另外一个非常重要的特性就是线程池.对于线程池的意义,我们这边不再多说.上图是线程池的主体类图,ThreadPoolExecutor是应用最为广泛的一个线程池实现(我也将在接下来的文字中详细描述我对这个类的理解和执行机制),ScheduledThreadPoolExecutor则在ThreadPoolExecutor上提供

系统 2019-08-29 22:17:08 2195

Java

java内存分配和String的不变性

转载请出自出处:http://eksliang.iteye.com/blog/2146549http://eksliang.iteye.com一.java分配内存涉及的区域包括寄存器常量池栈堆静态存储域二.寄存器介绍寄存器是最快的内存区域,因为他保存在处理器内部,这块区域我们没有直接的控制权,也不可能在代码里面找到寄存器的任何存在踪迹,所以这块不做讨论三.常量池介绍1.常量池是什么?答:他是在.class文件中开避的一块内存区域,用来存储在编译期间就可以确

系统 2019-08-12 09:30:36 2195

Java

Java正则表达式详解

如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(RegularExpression)就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式。许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?本文写作时,一个包含了用

系统 2019-08-29 22:51:55 2194

Java

Hessian,轻量级的Java Remoting方案

项目里遇到一个问题:由于安全性的需要,必须由一个程序专门负责查询某一数据库,然后通过安全的信道(例如HTTP)将查询结果传到安全区域之外的application。为了解决这个小小的remoting问题,我们差点要动用EJB。不过幸亏朋友推荐,找到了Hessian这个轻量级的remotingonhttp工具。Hessian其实很像webservice,只不过它的协议不是SOAP,而是它自己规定的binary协议。Hessian的server端提供一个serv

系统 2019-08-12 01:32:33 2194

Java

Java程序的中文与Unicode码相互转化

Java作为支持多平台的高级程序设计语言自然要支持多种编码方式才能满足程序设计的需要。但是在处理中文&其他编码之间的转换问题时往往出现各种问题,另程序员大伤脑筋。本文着重阐述了Java中文与Unicode编码之间进行相互转化的机理&方法,以求抛砖引玉。关键字:Java中文Unicode编码转换约定:本文中的编码(encoding)和字符集(charset)概念相同一、Appetite在进行详细的编码转换原理阐述之前,我们要作两件事情:1。首先检查操作系统用

系统 2019-08-29 23:03:54 2193

Java

Java的那些故事

一、Java的故事1、Java的诞生让我们把时空切换到1982年,那一年一个伟大的公司诞生于美国斯坦福大学校园,它的名字叫SunMicrosystems,直译的话叫太阳微系统公司,我们平时就叫他Sun,事实上Sun是StanfordUniversityNetwork的缩写。Sun在行业中被认为是最具创造性的企业。是极少数几个同时拥有自己微处理器、电脑系统、操作系统的公司。然而,1990年的一天,Sun的总裁麦克尼利(McNealy)听说他最好的一个工程师詹

系统 2019-08-29 23:03:38 2193

Java

Java Web 监听器

先说一下什么是监听器,监听器也叫Listener,是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时,就激发sessionCreated(HttpSessionEventse)方法,这样就可以给在线人数加1。常用的监听接口有以下几个:ServletContextAttributeListener监听对ServletContext属性的操作,比如增加

系统 2019-08-29 22:14:11 2193

Java

Effective Java (对象通用方法)

八、覆盖equals时请遵守通用约定:对于Object类中提供的equals方法在必要的时候是必要重载的,然而如果违背了一些通用的重载准则,将会给程序带来一些潜在的运行时错误。如果自定义的class没有重载该方法,那么该类实例之间的相等性的比较将是基于两个对象是否指向同一地址来判定的。因此对于以下几种情况可以考虑不重载该方法:1.类的每一个实例本质上都是唯一的。不同于值对象,需要根据其内容作出一定的判定,然而该类型的类,其实例的自身便具备了一定的唯一性,如

系统 2019-08-29 22:02:39 2193

Java

Java 缓存,缓存算法,缓存框架

1.Cache定义,命中率,存储成本,获取成本,失效,替换策略,优化的替换策略,缓存算法,分布式缓存,缓存度量http://www.jtraining.com/blogs/intro-to-caching-caching-algorithms-and-caching-frameworks.htmlCache系统概要图:缓存算法:LeastFrequentlyUsed(LFU):LeastRecentlyUsed(LRU)...分布式缓存:2.缓存的替换算法

系统 2019-08-29 23:13:18 2192

Java

Java连结数据库内幕

Java.sql包中的java.sql.Driver,jdbc.sql.Connection等提供给程序开发人员统一的开发接口,数据库提供商提供相应的实现,对程序开发人员来讲只要知道这些接口都有哪些方法就可以了。但我们可以深入一些看看到底这里面都做了那些事,同时也可以学习其中的编程模式(如Interface模式等)。1、Class.forName(Stringclassname)的源码为:publicfinalclassClassimplementsjav

系统 2019-08-29 22:24:51 2192

Java

使用java技术将Excel表格内容导入mysql数据库

1、添加POIjar包到项目的lib目录下­2、Excel文件目录:d://excel.xls­3、数据库字段为:num1num2num3num4num5num6­4、数据库名:blog­5、表名:test­6、编写类:连接mysql的字符串方法、插入的方法、实体类­­importjava.io.FileInputStream;­importjava.io.FileNotFoundException;­importjava.io.IOException;­

系统 2019-08-12 01:52:47 2192