![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
Java编程
CrazyL-
记录学习点点滴滴,一次共勉
展开
-
java内置序列化
public static void main(String[] args) throws IOException, ClassNotFoundException { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputS..原创 2022-04-23 20:48:23 · 348 阅读 · 0 评论 -
java注释模板(娱乐)
转载: http://blog.csdn.net/ouyang_peng/article/details/51803181佛祖保佑,代码永无bug/** * _ooOoo_ * o8888888o * 88" . "88 *转载 2017-12-13 09:57:21 · 296 阅读 · 0 评论 -
多线程计数器
import java.util.ArrayList;import java.util.List;import java.util.concurrent.atomic.AtomicInteger;public class Counter { private AtomicInteger atomicI = new AtomicInteger(0); private int i =转载 2017-06-10 09:42:09 · 626 阅读 · 0 评论 -
java正则(?!pattern)
非获取匹配,正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。原创 2017-06-29 10:20:00 · 610 阅读 · 0 评论 -
java捕获分组$1
//有的网站图片是相对路径,此处补全路径content.replaceAll("(.*?)src=\"(?!http)(.*?)", "$1src=\"" + contentImgPrefix + "$2");原创 2017-06-29 10:16:22 · 2310 阅读 · 1 评论 -
java正则(.*?)
.*具有贪婪的性质,首先匹配到不能匹配为止,根据后面的正则表达式,会进行回溯。 .*?则相反,一个匹配以后,就往下进行,所以不会进行回溯,具有最小匹配的性质。原创 2017-06-29 10:11:12 · 2222 阅读 · 0 评论 -
java正则\\1
向前引用的意思。 比如前面用括号捕获了一个子匹配,斜杠数字就表示和子匹配一样的内容,第一个子匹配就是\1,第二就是\2原创 2017-06-29 10:07:34 · 3811 阅读 · 0 评论 -
URLConnection
URLConnection是一个抽象类,表示指向URL指定资源的活动链接。打开URLConnection构造一个URL对象调用这个URL的openConnection()获取一个对应该URL的URLConnection对象配置这个URLConnection获取首部字段获取输入流并去读数据获得输出流并写入数据关闭连接URLConnection仅有的一个构造函数为protecte...原创 2019-05-24 10:20:53 · 335 阅读 · 0 评论 -
Future、Callable和Executor
案例: 从一个很大的数字数组中找到最大值,将工作分配给多个线程public class FindMaxTask implements Callable<Integer> { private int[] data; private int start; private int end; public FindMaxTask(int[] data,int start,in原创 2017-07-01 21:48:37 · 408 阅读 · 0 评论 -
regular-expressions
参考 http://www.regular-expressions.info/原创 2016-08-15 16:30:48 · 341 阅读 · 0 评论 -
根据文件头数据判断文件类型
转载: http://www.cnblogs.com/mq0036/p/3912355.html现有一文件,其扩展名未知或标记错误。假设它是一个正常的、非空的文件,且将扩展名更正后可以正常使用,那么,如何判断它是哪种类型的文件? 在后缀未知,或者后缀被修改的文件,依然通过文件头来判断该文件究竟是什么文件类型。我们可以使用一个文本编辑工具如UltraEdit打开文件(16进制模式下),然后看文件头转载 2017-09-06 09:46:45 · 1265 阅读 · 0 评论 -
java删除文件
public static boolean delete(String filename){ boolean ret = false; File file = new File(filename); try { if(file.exists()){ file.delete();原创 2017-07-06 16:52:37 · 213 阅读 · 0 评论 -
java视频下载
/** * 下载文件到本地 * * @param urlString * 被下载的文件地址 * @param filename * 本地文件名 * @param timeout * 超时时间毫秒 * @throws Exception *原创 2017-06-15 13:09:24 · 5398 阅读 · 0 评论 -
利用反射实现MapStr、MapObj与bean之间的转换
import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.HashMap;import java...原创 2020-01-08 11:43:43 · 218 阅读 · 0 评论 -
Id生成工具类
public class IdUtil { /** * 主要功能:生成流水号 yyyyMMddHHmmssSSS + 3位随机数 * 注意事项:无 * * @return 流水号 */ public static String createIdByDate() { // 精确到毫秒 SimpleDate原创 2018-01-03 14:48:59 · 1487 阅读 · 0 评论 -
poi导出后台提示报错,Minimum column number is 0!
参考: http://ask.csdn.net/questions/217353解决方案: 实体类里没加注解。在需要打印出来的实体类的get方法加上注解@ExcelField如一张用户表:/** * Excel注解定义 * * @version 2013-03-10 */@Target({ElementType.METHOD, ElementType.FIELD, ElementTy转载 2017-08-03 09:40:36 · 7131 阅读 · 0 评论 -
java字符串md5加密
public static String getMD5(String sourceStr) throws NoSuchAlgorithmException { if(sourceStr==null || "".equals(sourceStr.trim())){ return null; } byte[] source=sour原创 2017-07-06 16:18:12 · 452 阅读 · 0 评论 -
ExcelExportUtil
import java.io.BufferedOutputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.OutputStream;import java.net.URLEncoder;import java.util.List;import javax.servle原创 2017-06-09 15:45:28 · 8612 阅读 · 0 评论 -
ftp
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;impo原创 2016-09-12 14:53:43 · 382 阅读 · 0 评论 -
log4j
一、log4j应用demo 新建maven项目 import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;import org.apache.log4j.xml.DOMConfigurator;/** * Created by alan on 2016/8/5. */public class原创 2016-08-05 11:04:19 · 421 阅读 · 0 评论 -
Eclipse Memory Analyzer
java堆分析工具,用于发现内存泄露和减少内存消耗。 如果是内存泄露,可进一步通过工具查看泄漏对象到GC Roots的引用了链。于是就可能找到泄露对象是通过怎样的路径与GC Roots相关联并导致垃圾收集器无法自动回收他们的。掌握了泄漏对象的类型信息,以及GC Roots引用链的信息,就可以比较准确的定位出泄露代码的位置。 如果不存在内存泄露,换句话说就是内存中的对象却是都还必须活着,那就应当检原创 2016-09-27 15:59:35 · 321 阅读 · 0 评论 -
OutOfMemoryError异常实例
除程序计数器以外,其他几个运行时区域都有发生OOM异常的可能。 java堆溢出VM arguments-verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8 -XX:+HeapDumpOnOutOfMemoryErrorpublic class HeapOOM { static class OO原创 2016-09-27 15:39:09 · 1036 阅读 · 0 评论 -
使用ByteBuffer
文章目录创建堆缓冲区和直接缓冲区直接缓冲区与非直接缓冲区运行效率比较包装wrap数据的处理put(byte[] b)和get()方法的使用put(byte[] src, int offset, int length)和get(byte[] dst, int offset, int length)put(ByteBuffer src)putType()和getType()slice()方法转换为CharBuffer字符缓冲区及中文的处理设置与获得字节顺序创建只读缓冲区压缩缓冲区比较缓冲区内容复制缓冲区对缓冲区原创 2020-06-27 19:15:25 · 668 阅读 · 0 评论 -
缓冲区Buffer
文章目录缓冲区介绍Buffer类的使用包装数据与获得容量限制获取与设置位置获取与设置剩余空间大小获取缓冲区介绍abstract class Buffer7个直接子类abstract class ByteBuffer、CharBuffer、DoubleBuffer、FloatBuffer、IntBuffer、LongBuffer、ShortBuffer。NIO中的Buffer是一个用于存储脚本数据类型的容器,以类似于数组有序的方式来存储和组织数据。Buffer类的使用API:包装数据与获原创 2020-06-21 18:26:24 · 221 阅读 · 0 评论 -
java NIO介绍
文章目录基本概念主要特性流与块的比较缓冲区缓冲区的分类缓冲区的操作创建缓冲区复制缓冲区通道FileChannelSocketChannel选择器基本用法基本概念主要特性为所有原始类型提供缓存(Buffer)支持字符集编码解码解决方案Channel:一个新的原始IO抽象支持锁和内存映射文件的文件访问接口提供多路(non-blocking)非阻塞式的高伸缩性网络IONIO创建的目的...原创 2019-05-13 15:01:53 · 163 阅读 · 0 评论 -
java stream api常用操作
collect(toList())由stream里的值生成一个列表stream的of操作使用一组初始值生成新的streamList<String> collected = Stream.of("a","b","c").collect(Collectors.toList());collected.stream().forEach(c -> System.out.printl...原创 2019-03-05 14:30:00 · 189 阅读 · 0 评论 -
gson实体转json空字段处理
https://zhidao.baidu.com/question/469557613.htmlgson实体转json时当字段值为空时,json串中就不存在该属于,请问如何在值为空的时候也保留该字符串 如name不为空时,json串可能为{“name”,”test”},当name为空时,json串为{“name”,”“},或者{“name”,null},现在的情况是为空时,就不会有name转载 2018-01-19 16:48:37 · 6387 阅读 · 1 评论 -
java文件下载不显示中文文件名
https://zhidao.baidu.com/question/1111932467425249099.html我正在做一个javaWeb程序,涉及到文件下载,文件名是中文的,下载的时候不像是中文文件名,通过转码String name = new String(fileName1.getBytes(“UTF-8”),”ISO8859-1”);在qq浏览器和360上能显示但是到ie就爆乱码,客户还转载 2017-12-08 16:59:52 · 2113 阅读 · 0 评论 -
分页用实体类
import java.util.List;public class PageBean <T>{ private int pageNo = 1;//当前页 private int totalPage = 1;//总页数 private int maxResults = 10;//每页最大条数 private Integer rowCount = 0;//总记录数原创 2017-09-27 15:10:49 · 853 阅读 · 0 评论 -
javax.imageio.IIOException: Can't create output stream!tomcat 验证码,图片(原理)
转载: http://feitianbenyue.iteye.com/blog/1743281ImageIO.write(image, “JPEG”, os) 这种方式 来生成图片、验证码 tomcat必须要有temp文件转载 2017-09-15 16:47:11 · 417 阅读 · 0 评论 -
java线程池
定义线程池bean<!--线程池 --> <bean id="threadPoolExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <!-- 核心线程数 --> <property name="corePoolSize" val原创 2017-06-26 10:58:44 · 203 阅读 · 0 评论 -
JAVA 解析复杂的json字符串
转载: http://blog.csdn.net/qq_33096883/article/details/51981631String parameter = { success : 0, errorMsg : "错误消息", data : { total : "总记录数", rows : [ { id : "任务ID", wor转载 2017-06-23 11:01:03 · 1381 阅读 · 0 评论 -
获取src/main/resources下文件的绝对路径
URL url = this.getClass().getClassLoader().getResource("file");File file = new File(url.getPath());原创 2017-06-02 09:27:47 · 35770 阅读 · 0 评论 -
通过ThreadLocal为每个线程提供单独的副本
虽然共享一个SequenceNumber,但是相互之间并不会干扰public class SequenceNumber { private static ThreadLocal<Integer> seqNum = new ThreadLocal<Integer>(){ @Override protected Integer initialValue() {原创 2017-06-01 21:22:01 · 942 阅读 · 0 评论 -
java代码块
在java中,使用{}扩起来的就是代码块 根据位置和声明不同,可以分为局部代码块、构造代码块、静态代码块、同步代码块(多线程) 局部代码块: 在方法中出现,限制变量生命周期,及早释放,提高内存利用率 构造代码块(初始化块): 在类中方法外出现,多个构造方法相同的代码放到一起,每次调用构造都执行,并且在构造方法前执行 静态代码块: 在类中方法外出现,加了static修饰,用于给类进行初始原创 2017-03-19 11:43:52 · 278 阅读 · 0 评论 -
java类加载器
类加载器概述: 负责将.class文件加载到内存中,并为之生成对应的class对象,虽然我们不需要关心类记载机制,你了解这个机制就可以更好的理解程序的运行 类加载器的分类: bootstrap classloader根类加载器 extension classloader扩展类加载器 system classloader系统类加载器 类加载器的作用: 根类加载器: 也被称为引导类加载器原创 2017-03-19 08:36:04 · 271 阅读 · 0 评论 -
java多线程
线程是程序执行的一条路径,一个进程中可以包含多个进程 多线程并发执行,可以提高程序的效率,可同时完成多个工作多线程并行和并发 并行是甲乙同时运行,需要多核cpu 并发是看起来像是同时运行,实际是cpu分配时间片jvm启动是多线程的,至少起动了垃圾回收线程和主线程,所以是多线程的创建线程方法:class MyThread extends Thread{ @Override pub原创 2017-03-16 20:46:00 · 293 阅读 · 0 评论 -
java timer定时器
1.case 1/** 按固定间隔执行任务 在delay时间后开始,之后按period执行 * @param task 要执行的任务. * @param delay 任务开始执行前延时的毫秒数 * @param period 后续任务执行的毫秒间隔 * @throws IllegalArgumentException */原创 2016-08-23 11:11:16 · 405 阅读 · 0 评论 -
java选择排序
public class ArraySel { private long[] a; private int nElems; public ArraySel(int max){ a = new long[max]; nElems = 0; } public void insert(long value){ a[nE原创 2016-08-03 14:12:12 · 326 阅读 · 0 评论 -
java程序调用linux脚本
public class CallShell { public static void main(String[] args) throws IOException, InterruptedException { String[] cmd = new String[] { "***.sh", "***" }; Process proc = Runtime.ge原创 2016-07-13 11:46:34 · 447 阅读 · 0 评论