随笔分类 -  java高级特性

上一页 1 2 3 下一页
判断List、Map、Set是否为空及效率比较
摘要://如果object为null,则设置为defaultValueObjectUtils.defaultIfNull(object, defaultValue);//判断集合是否为nullList list=new ArrayList();System.out.println(list.isEmpty()); //trueSystem.out.println(list.size()); //0Set set=new HashSet();System.out.println(set.isEmpty()); //trueSystem.out.println(set.size()); //0Map m 阅读全文
posted @ 2013-11-15 15:51 Ruthless 阅读(97764) 评论(5) 推荐(0) 编辑
RandomStringUtils工具类
摘要://产生5位长度的随机字符串,中文环境下是乱码RandomStringUtils.random(5);//使用指定的字符生成5位长度的随机字符串RandomStringUtils.random(5, new char[]{'a','b','c','d','e','f', '1', '2', '3'});//生成指定长度的字母和数字的随机组合字符串RandomStringUtils.randomAlphanumeric(5);//生成随机数字字符串Ran 阅读全文
posted @ 2013-11-15 14:52 Ruthless 阅读(29386) 评论(1) 推荐(0) 编辑
StringUtils工具类用法
摘要:/*1.字符串以prefix开始*/StringUtils.startsWith("sssdf","");//结果是:trueStringUtils.startsWith("sssdf","");//结果是:trueStringUtils.startsWith("sssdf","s");//结果是:trueStringUtils.startsWith("sssdf","ss");//结果是:trueStringUtils.startsW 阅读全文
posted @ 2013-11-15 14:29 Ruthless 阅读(41428) 评论(1) 推荐(5) 编辑
NumberUtils、ArrayUtils和RandomUtils工具类用法
摘要:一、NumberUtils工具类/*1.NumberUtils.isNumber():判断字符串是否是数字*/NumberUtils.isNumber("5.96");//结果是trueNumberUtils.isNumber("s5");//结果是falseNumberUtils.isNumber("0000000000596");//结果是true/*2.NumberUtils.isDigits():判断字符串中是否全为数字*/NumberUtils.isDigits("0000000000.596");//f 阅读全文
posted @ 2013-11-14 19:14 Ruthless 阅读(14601) 评论(0) 推荐(0) 编辑
BigDecimal用法详解
摘要:一、简介Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。二、构造器描述 Big 阅读全文
posted @ 2013-11-08 11:08 Ruthless 阅读(168699) 评论(3) 推荐(8) 编辑
Java堆栈解析
摘要:1、RAM和ROM区别RAM-RamdomAccessMemory随机存取存储器(断电后数据会丢失),高速存取,读写时间相等,且与地址无关,如计算机内存等。 ROM-Read Only Memory只读存储器。断电后信息不丢失,如计算机启动用的BIOS芯片。存取速度很低,(较RAM而言)且不能改写。由于不能改写信息,不能升级,现已很少使用。2、栈(stack)与堆(heap)都是Java用来在RAM中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。3、栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的 阅读全文
posted @ 2013-07-22 09:25 Ruthless 阅读(3170) 评论(0) 推荐(1) 编辑
String.format()用法
摘要:package junit.test;import java.util.Date;import java.util.Locale;import org.junit.Test;public class StringFormat {/*String.format()用法1、转换符%s: 字符串类型,如:"ljq"%b: 布尔类型,如:true%d: 整数类型(十进制),如:99%f: 浮点类型,如:99.99%%: 百分比类型,如:%%n: 换行符*/@Testpublic void test1(){String str=null;str=String.format(" 阅读全文
posted @ 2013-06-21 11:42 Ruthless 阅读(158184) 评论(0) 推荐(3) 编辑
java常用集合总结
摘要:1、线程安全 线程安全就是说多线程访问同一代码,不会产生不确定的结果。2、List类和Set类List类和Set类是Collection集合接口的子接口。Set子接口:无序,不允许重复。List子接口:有序,可以有重复元素。Set和List对比: Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。 List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。 Set和List具体子类: Set |————HashSet:以哈希表的形式存放元素,插入删除速度很快。 List |————ArrayL... 阅读全文
posted @ 2013-05-30 11:27 Ruthless 阅读(15976) 评论(0) 推荐(4) 编辑
java.util.Queue用法
摘要:队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。Queue使用时要尽量避免Collection的add()和remove()方法,而是 阅读全文
posted @ 2013-05-30 10:38 Ruthless 阅读(62870) 评论(2) 推荐(6) 编辑
java中Comparator的用法
摘要:在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标。接下来我们模拟下在集合对象中对日期属性进行排序一、实体类Steppackage com.ljq.entity;/** * 运号单流程 * * @author Administrator * */public class Step{ /** 处理时间 */ private String acceptTime = ""; /** 快件所在地点 */ private String acceptAddress = ""; public Step() { ... 阅读全文
posted @ 2011-08-31 10:11 Ruthless 阅读(126736) 评论(5) 推荐(10) 编辑
socket案例二
摘要:编写一个网络应用程序,有客户端与服务器端,客户端向服务器端发送一个字符串,服务器收到该字符串后将其打印到命令行上,然后向客户端返回该字符串的长度,最后,客户端输出服务器端返回的该字符串的长度。 服务器端package com.hrtx.test;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;/** * 服务器端:响应请求 * * * @author jiqinlin * */public class ServerTest { p 阅读全文
posted @ 2011-06-24 21:52 Ruthless 阅读(1802) 评论(0) 推荐(1) 编辑
socket案例一
摘要:编写一个网络应用程序,有客户端与服务器端;当客户端向服务器端发送请求时,客户端输出服务器端返回的字符串。 回顾下socket的开发步骤:1) 建立Socket连接2) 获得输入/输出流3)读/写数据4) 关闭输入/输出流5) 关闭Socket 服务器端package com.hrtx.test;import java.io.DataOutputStream;import java.net.ServerSocket;import java.net.Socket;/** * 服务器端:响应请求 * * Unrecognized Windows Sockets error: 0: JVM_Bind- 阅读全文
posted @ 2011-06-24 21:03 Ruthless 阅读(1941) 评论(1) 推荐(1) 编辑
Java网络编程
摘要:课前思考1. 什么是TCP/IP协议?2. TCP/IP有哪两种传输协议,各有什么特点?3. 什么是URL?4. URL和IP地址有什么样的关系?5. 什么叫套接字(Socket)?6. 套接字(Socket)和TCP/IP协议的关系?7. URL和套接字(Socket)的关系?8.1 网络编程基本概念,TCP/IP协议简介8.1.1 网络基础知识 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由 阅读全文
posted @ 2011-06-10 08:53 Ruthless 阅读(24321) 评论(6) 推荐(8) 编辑
java.lang.OutOfMemoryError: Java heap space解决方法
摘要:引起java.lang.OutOfMemoryError: Java heap space异常,可能是由JAVA的堆栈设置太小的原因根据网上的答案大致有以下两种解决方法:1、在D:/apache-tomcat-6.0.18/bin/catalina.bat最前面加入:set JAVA_OPTS=-Xms384m -Xmx384m注意:只有startup.bat启动tomcat,设置才能生效,如果利用windows的系统服务启动tomcat服务,上面的设置就不生效了, 就是说set JAVA_OPTS=-Xms384m -Xmx384m没起作用 2、在Eclilpse中修改启动参数,在VM ar 阅读全文
posted @ 2011-04-27 10:44 Ruthless 阅读(193596) 评论(4) 推荐(3) 编辑
文件操作工具类
摘要:文件操作工具类package com.ptn.utils;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWrite 阅读全文
posted @ 2011-04-21 10:13 Ruthless 阅读(6394) 评论(7) 推荐(3) 编辑
JAVA通过调用数据库函数调用存储过程
摘要:下面将举一个通过数据库函数来调用存储过程:创建数据库函数存储过程CREATE OR REPLACE FUNCTION stu_proc ( v_id IN NUMBER) RETURN VARCHAR2 IS v_name VARCHAR2(20);BEGIN SELECT o.sname INTO v_name FROM student o WHERE o.id=v_id; RETURN v_name;EXCEPTION WHEN OTHERS THEN RETURN '数据未找到';END; JAVA通过调用数据库函数调用存储过程package com.ljq.test;i 阅读全文
posted @ 2011-04-17 21:53 Ruthless 阅读(4499) 评论(1) 推荐(1) 编辑
JAVA调用增删改的存储过程
摘要:1、创建添加存储过程CREATE OR REPLACE PROCEDURE stu_proc(v_id IN NUMBER, v_name IN VARCHAR2, v_age IN NUMBER) ASBEGIN INSERT INTO student(id, sname, age) values (v_id, v_name, v_age); commit;END; JAVA调用添加存储过程package com.ljq.test;import java.sql.CallableStatement;import java.sql.Connection;import java.sql.SQLE 阅读全文
posted @ 2011-04-17 20:06 Ruthless 阅读(3554) 评论(0) 推荐(1) 编辑
JAVA调用数据库存储过程
摘要:下面将举出JAVA对ORACLE数据库存储过程的调用 ConnUtils连接工具类:用来获取连接、释放资源package com.ljq.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * 连接工具类 * * ConnUtils类声明为final类说明此类不可以被继承 * * @author jiqinlin * */public final clas 阅读全文
posted @ 2011-04-17 17:47 Ruthless 阅读(26812) 评论(0) 推荐(2) 编辑
多线程案例
摘要:1、写两个线程,一个线程打印1-52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。学习线程之间的通信协调关系。代码线程类Thread01package com.ljq.test;public class Thread01 implements Runnable { private Object obj; public Thread01(Object obj) { this.obj = obj; } public void run() { synchronized (obj) { for (int i = 1; i <= 26; i++) { System.out 阅读全文
posted @ 2011-04-14 17:03 Ruthless 阅读(2597) 评论(0) 推荐(1) 编辑
中断线程
摘要:本文转自http://jiangzhengjun.iteye.com/blog/652269中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程为中断状态,即设置为true。线程中断后的结果是死亡、还是等待新的任务或是继续运行至下一步,取决于这个程序本身。线程会不时地检测这个中断标识位,以判断线程是否应该被中断(中断标识值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。判断线程是否被中断判断某个线程是否已被中断,请使用Thread.currentThread().isInterrupted()方法(因为它将线程中断标识位设置为true后,不会立刻 阅读全文
posted @ 2011-04-11 17:04 Ruthless 阅读(14683) 评论(3) 推荐(3) 编辑

上一页 1 2 3 下一页