java综合
文章平均质量分 79
mazhongjia
这个作者很懒,什么都没留下…
展开
-
Java不同压缩算法的性能比较
本文将会对常用的几个压缩算法的性能作一下比较。结果表明,某些算法在极端苛刻的CPU限制下仍能正常工作。文中进行比较的算有:JDK GZIP ——这是一个压缩比高的慢速算法,压缩后的数据适合长期使用。JDK中的java.util.zip.GZIPInputStream / GZIPOutputStream便是这个算法的实现。 JDK deflate ——这是JDK中的又一个算法(zip文件用的就是这一算法)。它与gzip的不同之处在于,你可以指定算法的压缩级别,这样你可以在压缩时间和输出文件大小上进转载 2021-04-02 17:16:28 · 872 阅读 · 0 评论 -
java int转byte数组
int 转 byte[]低字节在前(低字节序)public static byte[] toLH(int n) { byte[] b = new byte[4]; b[0] = (byte) (n & 0xff); b[1] = (byte) (n >> 8 & 0xff); b[2] = (byte) (n >> 16 & 0xff); b[3] = (byte) (n >> 24 & 0...转载 2021-03-31 14:23:51 · 3988 阅读 · 0 评论 -
java内嵌浏览器的几种方式
https://blog.csdn.net/everythingatonce/article/details/84991689推荐:jxBrowser原创 2020-12-07 10:58:37 · 1019 阅读 · 0 评论 -
最新Java面试题,常见面试题及答案汇总
原文地址:https://blog.csdn.net/fangchao2011/article/details/892035351、面试题模块汇总面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM。如下图所示:可能对...转载 2020-10-14 10:01:33 · 445 阅读 · 0 评论 -
java实现将二进制文件转换成字节文本,再将字节文本转换成二进制文件
一、说明今天,项目现场提出这样一种需求:项目中,将项目文件打成zip包进行发布时,由于安全机制的限制,不允许发布二进制文件,因此需要将.zip格式的二进制文件encode成文本文件,再将文本文件上传后decode成.zip格式。二、直接上代码1、首先上传统IO实现方式package com.kd.pictureeditor.codec;import java.io.File;import java.io.FileInputStream;import java.io.FileOutp原创 2020-09-17 16:40:08 · 4556 阅读 · 3 评论 -
Java 反射调用静态方法
一、说明java反射调用某个类的静态方法根据使用不同的jdk版本有两种方式:jdk1.6及以前版本代码:Object invoke = method.invoke(null, Object... args),从底层方法被调用的对象设置为 null 即可。package pictureeditor.picture.stationsearch;import java.lang.reflect.Method;/** * @Auther: mazhongjia * @Date: 202原创 2020-07-22 11:45:59 · 5466 阅读 · 0 评论 -
Jdk1.8新特性 - 日期和时间
一、说明Java 8 在java.time包下推出了一组全新的时间日期API,涵盖了日期、时间、日期时间、时区、时刻、间隔、时钟等新的java.time包下的所有类都是不可变类型而且线程安全的,解决了在此之前日期时间中存在的线程安全、横跨多包、使用复杂等诸多问题二、示例1、时间和日期 // 本地时间 LocalTime lt = LocalTime.now(); // 本地日期 LocalDate ld = LocalDate.now(); // 本地日期时间 Loc转载 2020-07-08 14:42:25 · 595 阅读 · 0 评论 -
java嵌入web浏览器的三种方式
链接:https://pan.baidu.com/s/1dHULzJqORacdQ1OG07MlEA提取码:6ukm原创 2020-06-02 10:49:36 · 1134 阅读 · 0 评论 -
Java 零拷贝(zero copy)
一、原创 2020-04-05 16:09:57 · 235 阅读 · 0 评论 -
java 泛型
一、概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用二、泛型的意义泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型存在的意义:1,适用于多种数据类型执行相同的代码(代码复用)2, 泛型中的类型在使用时指定,不需...原创 2020-03-30 21:08:05 · 131 阅读 · 0 评论 -
Java 字符集编解码及乱码示例
一、各种编码简介XXX二、示例2、实现功能将EndeCodeTest.txt文件内容读取出来,写入EndeCodeTest_out.txt文件2.1 如果文件中全是英文,使用是iso-8859-1编码读取与写入是没问题的package com.mzj.netty.ssy._09_nio._04_Charset;import java.io.File;import j...原创 2020-03-26 20:07:24 · 929 阅读 · 0 评论 -
加密算法比较:SHA1,SHA256(SHA2),MD5
以一个60M的文件为测试样本,经过1000次的测试平均值,三种算法的表现为:MD5算法运行1000次的平均时间为:226msSHA1算法运行1000次的平均时间为:308msSHA256算法运行1000次的平均时间为:473ms安全性方面:显然SHA256(又称SHA2)的安全性最高,但是耗时要比其他两种多很多。MD5相对较容易碰撞:SHA1:2017年2月23日,Goo...原创 2020-03-16 20:39:14 · 7910 阅读 · 0 评论 -
读取文件时FileInputStream和 "当前类.class.getClassLoader().getResourceAsStream("filename")"的区别
当读取的文件在硬盘中的某个文件夹中使用FileInputStream,若在编写程序时,比如自己的properties文件需要放到resource文件夹中,此时需要用到:当前类.class.getClassLoader().getResourceAsStream("filename")InputStream is = new FileInputStream(file);读取工程中的配置文件时要求...原创 2020-03-14 16:24:57 · 165 阅读 · 0 评论 -
Java IO与NIO
一、OIO1、一些细节1)流在底层输入与输出都是传输的字节,字符流只是上层的封装2)OIO中流要么是输入流,要么是输出流,不可能即是输入流又是输出流2、流的分类分类方式1:输入流、输出流输入、输出是相对于应用程序来说的,应用程序向外传递数据为输出,外部向应用程序传递数据为输入分类方式2:节点流、过滤流节点流:从特定的地方读写的流,例如:磁盘或一块内存区域过滤流:...原创 2020-03-07 09:43:31 · 426 阅读 · 0 评论 -
如果不存在则创建并put进去
与下面代码等效:原创 2020-02-26 16:15:56 · 289 阅读 · 0 评论 -
JVM退出的两个条件
1、程序正常退出:这发生在最后的非守护线程退出时,或者在调用 exit(等同于System.exit)方法时。2、程序异常退出:为响应用户中断而终止 虚拟机,如键入 ^C;或发生系统事件,比如用户注销或系统关闭。...原创 2020-02-25 10:57:37 · 576 阅读 · 0 评论 -
JDK1.7的Path
一、resolve方法Path接口中resolve方法的作用相当于把当前路径当成父目录,而把参数中的路径当成子目录或是其中的文件,进行解析之后得到一个新路径;Path path1 = Paths.get("folder1", "sub1");Path path2 = Paths.get("folder2", "sub2"); path1.resolve(path2); //f...原创 2020-02-24 16:09:55 · 131 阅读 · 0 评论 -
重载(overload)与覆盖(override)
“重载(overload)”: 1、overload时,方法的参数类型、个数至少有一个不相同; 2、overload不检查:方法的返回类型、方法的访问权限、方法所抛异常3、两个func完全是不同的函数。只是恰好函数名相同。这两个func在虚函数指针表占用了两个不同的Entry. vtable Entry 1: void func(Number) Entry 2: voi...原创 2010-08-01 13:03:16 · 85 阅读 · 0 评论 -
JNIHelloWorld
文章内容如题,只是对JNI使用的简单介绍。相信有许多同行也跟我一样在这方面知之甚少,所有在这里也总结一下,希望方便大家学习。 1.简介JNI是Java Native Interface的缩写,它的设计目的是:The standard Java class library may not support the platform-dependent features needed b...2010-09-18 13:49:35 · 107 阅读 · 0 评论 -
System.getProperty()
java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目录 java.vm.specification.version Java 虚拟机规范版本 java.vm.specification.vendor Java 虚拟机规范供应商 java.vm.spec...原创 2010-09-18 14:45:15 · 83 阅读 · 0 评论 -
终结函数守卫者
1.引入:之所以要使用这项技术是因为一个非final的公有类覆盖了来自Object的finalize()方法,此类被继承时在子类中如果同样的重写了finalize()方法时需要使用如下模式调用父类被覆盖的finalize()方法。 protected void finalize() throws Throwable { try{ //do something for fina...2010-09-26 21:58:09 · 133 阅读 · 0 评论 -
volatile关键字二
java中int等不大于32位的类型上的简单操作都是原子操作,但是某些jvm的实现使得对long和double类型的操作并不是原子操作,这样就会造成错误数据的出现。 错误数据出现的原因是: 对于long和double变量,把他们作为2个原子性的32位值来对待,而不是一个原子性的64位值, 这样将一个long型的值保存到内存的时候,可能是2次32位的写操作, 2个竞争线程想写不同的值到内存的时候...原创 2010-10-04 10:35:19 · 89 阅读 · 0 评论 -
volatile关键字一
转自IBM论坛文章,原题目:java理论与实践:正确使用volatile变量Java 理论与实践: 正确使用 Volatile 变量volatile 变量使用指南 文档选项<script type="text/javascript"></script>打印本页<noscri...原创 2010-10-04 10:39:01 · 87 阅读 · 0 评论 -
正则表达式匹配换行
因为早期使用正则表达式的工具是基于行的。它们都是一行一行的读入一个文件,将正则表达式分别应用到每一行上去。在这些工具中,字符串是不包含换行符的。因此“.”也就从不匹配新行符。有如下几种方式可以匹配1)\s\S、\d\D、\w\W原因:不详2)[^.]原因:匹配非(任何字符(与行结束符可能匹配也可能不匹配))...2010-10-19 19:19:43 · 2132 阅读 · 0 评论 -
jacob莫名奇妙抛异常
最近使用jacob写word文件的时候发现个奇怪的现象:写入数据时会莫名奇妙的抛出异常,最好发现问题原因为:word应用程序的语法拼写检查导致,取消语法拼写检查后写入正常。我想可能是超过一定的语法拼写错误后就不允许继续写入了。具体关闭方式为:工具-选项-拼写和语法 取消:“键入时检查拼写”、“键入时检查语法”选项...原创 2010-11-01 18:17:52 · 177 阅读 · 0 评论 -
用循环代替递归
public class nhn { public static int f(int x){ if(x==0) return 0; else return 2 * f(x - 1) + x*x; } public static int f1(int x){ if(x==0) return 0; else{ int sum...原创 2010-07-31 23:18:37 · 282 阅读 · 0 评论