
java基础
文章平均质量分 82
积跬步DEV
一枚开发工程师!
展开
-
单例模式-双重校验锁缘由
/** * 单例模式-双重校验锁 */ public class SingleTon3 { private SingleTon3(){}; //私有化构造方法 private static volatile SingleTon3 singleTon=null; public static SingleTon3 getInstance(){ //第一次校验 if(singleTon...原创 2021-08-29 16:22:34 · 225 阅读 · 0 评论 -
java Base64 编码操作
package com.hujl.oauth.signature;/** * 完成Base64 编码操作 * 也可以用android.util.Base64下的类实现 * @author janrone * */public class BASE64 { private static final char last2byte = (char) Integer .parse原创 2012-05-22 14:56:31 · 2363 阅读 · 0 评论 -
java学习——java中的时间处理
类似微博的时间格式化类public static String friendlyTime(int timestamp) { long currentSeconds = System.currentTimeMillis()/1000; long timeGap = currentSeconds-(long)timestamp;//与现在时间相差秒数 long原创 2012-07-05 14:12:12 · 1104 阅读 · 0 评论 -
Java加密技术(三)—— HMACSHA1 加密算法
HMACSHA1 是从 SHA1 哈希函数构造的一种键控哈希算法,被用作 HMAC(基于哈希的消息验证代码)。 此 HMAC 进程将密钥与消息数据混合,使用哈希函数对混合结果进行哈希计算,将所得哈希值与该密钥混合,然后再次应用哈希函数。 输出的哈希值长度为 160 位。在发送方和接收方共享机密密钥的前提下,HMAC 可用于确定通过不安全信道发送的消息是否已被篡改。 发送方计算原始数原创 2012-05-22 14:52:46 · 55610 阅读 · 3 评论 -
java学习——常用的正则表达
1. 检验Email /** * 检测用户输入的Email格式 * @param mail * @return */ public static boolean checkEmail(String mail) { String regex = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; Pattern p原创 2012-07-25 15:17:49 · 1124 阅读 · 0 评论 -
java基础—— Collections.sort的两种用法,简单明了 。
来源:http://gwh-08.iteye.com/blog/1233401/** * @author guwh * @version 创建时间:2011-11-3 上午10:49:36 * 类说明 */ package com.jabberchina.test; import java.util.ArrayList; import j原创 2013-04-01 14:33:01 · 102694 阅读 · 5 评论 -
Java学习——正则表达式
Java代码 // 过滤特殊字符 public static String StringFilter(String str) throws PatternSyntaxException { // 只允许字母和数字 // String regEx = "[^原创 2013-07-10 11:02:23 · 867 阅读 · 0 评论 -
怎样编写高质量的java代码
代码质量概述 怎样辨别一个项目代码写得好还是坏?优秀的代码和腐化的代码区别在哪里?怎么让自己写的代码既漂亮又有生命力?接下来将对代码质量的问题进行一些粗略的介绍。也请有过代码质量相关经验的朋友提出宝贵的意见。 代码质量所涉及的5个方面,编码标准、代码重复、代码覆盖率、依赖项分析、复杂度分析。这5方面很大程序上决定了一份代码的质量高低。我们分别来看一下这5方面:编码标准:原创 2014-04-01 15:35:42 · 2738 阅读 · 0 评论 -
工具类批量修改照片的名字
import java.io.File;import java.io.IOException;import java.io.PrintStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileNotFoundException;/*****************原创 2014-04-27 17:09:41 · 3159 阅读 · 0 评论 -
Java进阶——Java 利用枚举实现单例模式
引言单例模式比较常见的实现方法有懒汉模式,DCL模式公有静态成员等,从Java1.5版本起,单元素枚举实现单例模式成为最佳的方法。Java枚举基本用法枚举的用法比较多,本文主要旨在介绍利用枚举实现单例模式的原理,所以这里也主要介绍一些相关的基础内容。首先,枚举类似类,一个枚举可以拥有成员变量,成员方法,构造方法。先来看枚举最基本的用法:enum Type{ ...转载 2019-03-15 16:14:52 · 308 阅读 · 0 评论 -
《深入理解java虚拟机》 精华总结(面试)
一、运行时数据区域Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区1.1程序计数器程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢复等基础功...转载 2019-07-29 11:50:11 · 130 阅读 · 0 评论 -
Java Calendar
###周一作为第一天也许你碰到过这种业务,需要根据星期几来做某种操作,例如,每周二,上周二等。Java提供了Calendar类可以实现这些需求,不过这里有个坑,值得注意。国外都是以星期日作为每周的第一天,而我们都是以周一作为第一天,所以如果你不注意的话,在周日的时候获取上周的某个星期几,或者这周的某个星期几就会出现错误。因为Java就是默认以星期日作为一周的第一天。还好Calendar提...原创 2019-09-04 16:02:19 · 560 阅读 · 0 评论 -
Calendar 使用
public class DateTest { public static Date geLastWeekMonday(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(getThisWeekMonday(date)); cal.add(Calendar.D...原创 2019-09-06 19:33:16 · 368 阅读 · 0 评论 -
Java学习—— 用 文件,文件名 ,文件流 转 字节 用于上传图片
直接上代码 public static byte[] readStream(InputStream inStream) throws Exception{ ByteArrayOutputStream outsStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = -1;原创 2012-05-14 16:07:22 · 2326 阅读 · 0 评论 -
java基础——java的几种对象(PO,VO,DAO,BO,POJO)解释
java的几种对象(PO,VO,DAO,BO,POJO)解释 一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。 二、VO:value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而原创 2012-03-15 18:26:00 · 932 阅读 · 0 评论 -
Java学习—— Java反射机制
问题:在运行时,对一个JAVA类,能否知道属性和方法;能否调用它的任意方法?答案是可以的,JAVA提供一种反射机制可以实现。 目录什么是JAVA的反射机制JDK中提供的Reflection APIJAVA反射机制提供了什么功能获取类的Class对象获取类的Fields获取类的Method获取类的Constructor新原创 2012-03-23 15:46:20 · 726 阅读 · 0 评论 -
java i/o 几个主要类的使用 和 介绍
1. 字节流 抽象类 InputStream2 常用方法 InputStream int read(byte [] c,int off, int len) OutputStream voidwrite(byte [] c,int off, int len) .3. I/O流可以有三种分类方法. 第一, 输入流,输出流 . 第二 ,字节流,字符流 . 第三 , 节点流(真原创 2011-11-19 23:05:57 · 1087 阅读 · 0 评论 -
java学习——java高级特性,线程,并发 笔记
一.传统的创见线程的两种方式.1 Thread thread=new Thread(); thread.start();2 Thread thread=new Thread(new Runnable(){}); thread.start(); 体现面向对象编程.3. 都实现 run()方法.4 多线程机制会降低程序运行效原创 2011-11-22 10:25:02 · 801 阅读 · 0 评论 -
java学习——线程启动的两种方法,Time定时器,synchronized 的使用
package com.hujl.thread;import java.util.Timer;import java.util.TimerTask;/** * 演示创建线程和定时器 * @author Janrone * @website http://hujl.sinaapp.com */public class CreatThread { /** * @param a原创 2011-11-23 10:52:25 · 5296 阅读 · 0 评论 -
java学习——如何实现线程之间的通信 ,Condition 的使用
package com.hujl.thread;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 线程之间的通信Demo * @author Janrone *原创 2011-11-23 10:57:02 · 3028 阅读 · 0 评论 -
java学习——用 Executors创建线程池
package com.hujl.thread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;/** * 演示线程池 * @author Janrone * @website http://原创 2011-11-23 11:31:11 · 1145 阅读 · 0 评论 -
java学习——使用Exchanger实现两个线程间的数据交换
package com.hujl.thread;import java.util.concurrent.Exchanger;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 线程之间互换数据 * @author Janrone * @website http原创 2011-11-23 11:35:26 · 1965 阅读 · 0 评论 -
java学习——ThreadLocal 线程局部 (thread-local) 变量的使用
package com.hujl.thread;import java.util.Random;/** * 线程之间局部变量共享数据 * @author Janrone * @website http://hujl.sinaapp.com */public class ThreadLocalDemo { /** * @param args */ //每个线程都保持对其原创 2011-11-23 11:26:15 · 1672 阅读 · 0 评论 -
java学习——java 面向 Socket 操作,TCP 和 UDP 示例
TCP/IP 参考模型 应用层-->传输层-->网络层--->物理+数据链路层 .TCP 是一种提供可靠的、端到端的字节流通讯协议 。是一种面向连接的协议。TCP连接是字节流而非报文流。UDP向应用程序提供了一种发送封装的原始ip数据报的方法、并且发送时无需建立连接。是一种不可靠的连接。网关 、 路由器 。Socket编程 。双向的网络通信连接实现数原创 2011-12-02 17:34:34 · 1021 阅读 · 0 评论 -
Java WeakReference 使用问题
给你个简单的例子 Reference r = new WeakReference(new Integer(1)); System.out.println(r); System.out.println(r.get()); System.gc(); System.out.println(r); Syste原创 2011-12-20 17:38:04 · 1051 阅读 · 0 评论 -
Java学习——Java:对象的强、软、弱和虚引用
本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。 1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、原创 2012-01-31 09:32:33 · 991 阅读 · 0 评论 -
java学习——序列化与 Transient 关键字
转自 :http://www.ibm.com/developerworks/cn/java/j-lo-serial/index.html?ca=drs-#major5引言将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 O原创 2012-02-29 17:12:56 · 4720 阅读 · 1 评论 -
Java学习—— Eclipse中查看JDK类库的源代码
JAVA学习(一)-Eclipse中查看JDK类库的在Eclipse中查看JDK类库的源代码!!!设置:1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES"2.此时"Installed JRES"右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 "Edit...", 会出现一个原创 2012-03-23 15:44:14 · 1776 阅读 · 0 评论 -
Java中hashmap和hashtable的区别
1、 继承和实现区别 Hashtable是基于陈旧的Dictionary类,完成了Map接口;HashMap是Java 1.2引进的Map接口的一个实现(HashMap继承于AbstractMap,AbstractMap完成了Map接口)。 2、 线程安全不同原创 2011-10-05 12:24:16 · 876 阅读 · 0 评论