
java
文章平均质量分 62
java总结记录
悟世君子
发上等愿,结中等缘,享下等福 择高处立,寻平处坐,向宽处行
展开
-
SQLite 安装和 Java 使用教程
SQLite是一个C语言库,它实现了一个小型、快速、自包含、高可靠性、功能齐全的SQL数据库引擎。SQLite是世界上使用最多的数据库引擎。SQLite内置于所有手机和大多数计算机中,并捆绑在人们每天使用的无数其他应用程序中。SQLite文件格式稳定、跨平台、向后兼容,开发人员承诺在2050年保持这种格式。SQLite数据库文件通常用作在系统之间传输丰富内容的容器,以及数据的长期存档格式。目前有超过1万亿个SQLite数据库在积极使用。原创 2023-11-19 22:51:54 · 6627 阅读 · 0 评论 -
使用 ClassFinal 对 java class 文件进行加密防止反编译
ClassFinal 是一款 java class文件安全加密工具,支持直接加密 jar 包或 war 包,无需修改任何项目代码,兼容 spring-framework;可避免源码泄漏或字节码被反编译特点。原创 2023-10-02 14:29:49 · 10909 阅读 · 27 评论 -
Callable 和 FutureTask 带返回值线程使用和源码分析
Callable 和 FutureTask 可以创建带返回值的线程,那它是怎么实现的呢?笔者下面分析,先看看它是怎么使用的。原创 2023-09-13 12:00:46 · 596 阅读 · 0 评论 -
java8 日期常用方法总结
java8 新增日期类,使用方便java8 中的日期分为 LocalDate 和 LocalDateTime,LocalDate是年月日格式的日期时间;LocalDateTime是年月日时分秒格式的日期时间,二者的用法API基本一致除此之外还有 YearMonth,年月格式日期;MonthDay 月日格式日期。原创 2023-08-30 17:28:52 · 1139 阅读 · 0 评论 -
yml 报错 found character '\t(TAB)' that cannot start any token. (Do not use \t(TAB) for indentation)
出现这个报错的原因是 yml 配置文件中缩进不规范造成的,导致spring启动读取yml配置文件不能正确读取。解决办法:删除缩进的空格内容,再用空格重新缩进...原创 2019-03-08 17:52:23 · 13570 阅读 · 0 评论 -
yml 错误读取字符串为数字的问题 Failed to convert value of type 'java.lang.String' to required type 'int'
yml 文件配置字符串,使用 @Value 注解注入。当配置的字符串是0开头的数字时,yml会把 0开头的数字当作8进制处理,注入时转化为十进制数;或是项目启动时报错 Failed to convert value of type 'java.lang.String' to required type 'int',其原因是 yml 文件字符串配置不规范,正确的字符串配置如下name : '0...原创 2019-02-19 16:52:56 · 18185 阅读 · 0 评论 -
xml 报错红叉 Referenced file contains errors (http://www.springframework.org/schema/context/spring-conte
eclipse 打开项目,发现 xml 文件报错Referenced file contains errors (http://www.springframework.org/schema/context/spring-context.xsd). For more information, right click on the message in the Problems View and s...原创 2019-03-21 11:57:55 · 3778 阅读 · 1 评论 -
XML文件报错 The reference to entity "characterEncoding" must end with the ';' delimiter.
xml 报错 The reference to entity "characterEncoding" must end with the ';' delimiter.,多半是没有使用转义字符的原因xml 文件中使用这五种字符必须使用它们的转义字符, ' < ' 、 ' > ' 、 ' & ' 、 ' ' ' 、 ' " ' 字符 转义字符 字符名...原创 2018-11-15 16:53:39 · 444 阅读 · 0 评论 -
base64 空格问题
base64加密后的内容,如果放到 url中传输,就会出现空格问题,即经过加密的字符串中如果有‘+’号,就会变成空格原因有二1、url中 ‘+’ 为特殊字符,会变成空格处理2、base64 在加解密时,会用到如下64个字符 public static final char BASE64CHAR[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', ...原创 2018-10-08 12:11:31 · 6526 阅读 · 0 评论 -
base64 加密处理后有回车换行符
base64一行不能超过76个字符,超过就会添加回车换行符。解决办法: 使用字符串对象的replaceAll方法替换掉\r和\n,具体代码如下:replaceAll("[\\s*\t\n\r]", "")原创 2018-09-27 16:29:35 · 8301 阅读 · 0 评论 -
base64 代码
package com.demo.base64;public class Base64 { private static char[] Base64Code = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V'...原创 2019-03-05 15:03:44 · 1552 阅读 · 0 评论 -
Gson 将json格式字符串转换为对象
使用谷歌的Gson进行字符串和json对象之间的转换,是很方便的,本文讲解如何使用Gson将json格式的字符串转换为json对象1、先创建实体类 package com.che.pri.bean; public class User { private String name; private String code; ...原创 2018-09-08 15:29:48 · 8790 阅读 · 0 评论 -
如何判断 JSONObject 和 JSONArray
在实际开发中,经常需要将字符串、xml文件、或对象转换为 JSON 对象,以方便进行处理但有时,我们并不知道要转换的对象是 JSONObject 还是 JSONArray;这时需要使用 org.json 包下的 JSONTokener 对象对要转换的对象进行判断,如果是 JSONObject,就转换为 JSONObject;如果是 JSONArray ,就转换为 JSONArray ...原创 2018-12-29 18:46:26 · 12056 阅读 · 0 评论 -
Java VisualVM 安装插件 Visual GC
Java VisualVM是一种工具,它提供了一个可视化界面,用于查看基于Java技术的应用程序(Java应用程序)在Java虚拟机(JVM)上运行时的详细信息Java VisualVM 安装插件 Visual GC,这里记录一下1、打开Java VisualVM2、点击工具、插件3、 查看可用插件4、找到Visual GC,选中后点击安装5、下一步6、接受许可协议 7、完成 8、查看已安装插件9、 查看本地应用程序的详细情况 10、点击新安装的插件 Visual GC 11、可以看到方法区和堆内存数据至此原创 2022-06-08 11:49:21 · 1162 阅读 · 1 评论 -
crypto-js java后台加密 mian方法运行和 javaweb请求得到的加密字符串不同
java后台实现 crypto-js 的加解密,使用main方法直接运行,和以web项目启动,请求进去运行得到的加密字符串不同,出现这种问题的原因是以 main函数直接运行,默认字符编码是UTF-8,而以 web项目启动默认字符编码是GBK,而代码中字符串转 byte[] 数组又没有设置字符编码,或其他涉及字符编码处没有设置,因此 web项目会使用默认字符编码GBK,因此会出现中文字符加密,以 main方法直接运行和 web项目运行得到不同的加密字符串的现象示例:如代码中出现字符串转 byte[].原创 2021-01-17 16:55:31 · 463 阅读 · 0 评论 -
java 反射获取含有某个属性字段的类(包括父类,父类的父类)
java 反射获取含有某个属性字段的类(包括父类,父类的父类),由于反射只能获取当前类的全部属性字段,当前类不能获取继承自父类的属性字段,所以要想获取有继承关系的类的全部字段就需要递归获取父类进行判断,这样才能找到属性字段所在的类,是当前类还是它的父类,父父类,父父父类......这里封装成了两个静态方法public static Class getClass(Class c, String fieldName) { if (c !=null && !hasFiel..原创 2020-11-27 19:49:24 · 1750 阅读 · 1 评论 -
java 反射判断一个类中是否含有某个属性字段
java 反射判断一个类中是否含有某个属性字段,因为 java 反射相关的API 中没有提供这个方法,因此需要我们自己判断思路是将类中所有的属性字段遍历,进行查找,代码如下public boolean hasField(Class c, String fieldName){ Field[] fields = c.getDeclaredFields(); for (Field f : fields) { if (fieldName.equals(f.getNam.原创 2020-11-27 19:19:30 · 10550 阅读 · 2 评论 -
无法删除 Java 生成的文件 操作无法完成,因为文件已在 Java(TM) Platform SE binary 中打开
无法删除 Java 生成的文件,提示操作无法完成,因为文件已在 Java(TM) Platform SE binary 中打开报错原因:Java 操作文件后没有关闭流解决办法:仔细检查代码,找到流的部分,关闭流...原创 2020-03-01 19:36:43 · 21158 阅读 · 3 评论 -
java 获取访问域名
代码如下:@RequestMapping("/")public Object i(HttpServletRequest request) { Map<String, Object> res = new HashMap<String, Object>(); res.put("ip:", request.getScheme() + "://" +requ...原创 2019-06-30 16:56:58 · 19849 阅读 · 0 评论 -
BigDecimal 大小比较
BigDecimal 数据类型大小比较使用 compareTo 函数,用法如下: A.compareTo(B)A、B 均为 BigDecimal 类型,compareTo 函数返回 int 类型值若 A = B ,则 compareTo 函数返回 0;若 A > B ,则 compareTo 函数返回 1;若 A < B ,则 compareTo 函数返回 ...原创 2019-02-21 10:35:22 · 923 阅读 · 0 评论 -
安装 jdk 并配置环境变量
java 安装 jdk 并配置环境变量 1、官网下载 jdk 2、下载完成后,安装 jdk 3、安装完成,配置环境变量 新建 JAVA_HOME 环境变量,JAVA_HOME=C:\Program Files\Java\jdk1.8.0_201 修改 Path 环境变量,在path变量尾部添加 %JAVA_HOME%\bin 新建 ...原创 2019-02-25 22:59:14 · 577 阅读 · 0 评论 -
java 获取传入时间 前一天、前一月、前一年 时间
1、获取传入时间的前一天时间package com.demo;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Demo04 { public static void main(String[] args) { //获取当前时间...原创 2018-11-27 17:02:20 · 2314 阅读 · 0 评论 -
java 字符串 转 日期
package com.demo;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Demo03 { public static void main(String[] args) throws Exception { //设...原创 2018-11-27 16:42:48 · 985 阅读 · 0 评论 -
java 去除字符串空格
1、去除字符串首尾空格 String.trim()String str = " 123 "; System.out.println(str.trim()); 2、去除字符串所有空格去除字符串所有空格有很多种方式,这里提供三种 (1) String.replaceAll(" ", "")String str = " aaa bbb ccc "...原创 2018-11-23 09:48:49 · 286 阅读 · 0 评论 -
java 日期 转 字符串
在程序开发中,经常用到 java 日期 Date 类型与字符串 String ,之间的转换package nice;import java.text.SimpleDateFormat;import java.util.Date;public class DemoT { public static void main(String[] args) { //获取时间 ...原创 2018-10-27 17:05:52 · 369 阅读 · 0 评论 -
java Object 转换为 Long
java 语言中,Object 类型转换为 Long 类型,先将 Object 类型转换为 String,再将 String 转换为 Long,代码如下Object obj = new Object(); long l = Long.valueOf(String.valueOf(obj));或Object obj = new Object();long l = Long....原创 2018-10-23 20:15:55 · 59641 阅读 · 3 评论 -
java 取数组中指定的值
java语言,取出数组中指定位数间的值,代码如下:传入参数 数组str1、数组起始下标start、数组结束下标end;从传入数组str1中取出数组起始下标start到 数组结束下标end间的数组元素,放到新的数组中,返回public static String[] strChange(String str1[], int start, int end){ int k = end -...原创 2018-09-29 20:11:58 · 29140 阅读 · 0 评论 -
Java byte 转化为 String
1、Java 中 byte 转化为 String,代码如下package nice.com.mian;import java.io.UnsupportedEncodingException;public class StringMain { public static void main(String[] args) throws Exception { byte[] ...原创 2018-10-13 16:59:16 · 33724 阅读 · 0 评论 -
自定义配置文件报错 at java.util.ResourceBundle.getObject(Unknown Source)
使用static静态块读取自定义配置文件,有时发现代码没有问题,但是会报null异常,原因出在静态块中,静态块中很可能存在自定义properties文件没有配置的值,就是static中有该字段,但是自定义properties文件中没有该字段,而静态块在加载时会加载所有在静态块中的字段,这样在调用时,就会报null异常。...原创 2018-09-27 17:07:14 · 892 阅读 · 0 评论 -
java 获取两个日期间相差的天数
package com.demo;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Demo05 { public static void main(String[] args) throws Exception { //设...原创 2018-11-27 17:16:20 · 32700 阅读 · 7 评论 -
BigDecimal 用法总结
Java 在 java.math 包中提供的 API 类 BigDecimal,用来对超过16位有效位的数进行精确的运算提供以下操作:算术、标度操作、舍入、比较、哈希算法和格式转换。用户能通过提供 MathContext 对象完全控制 BigDecimal 的舍入行为(也可使用类内提供的8种舍入模式)。如果未指定舍入模式,并且无法表示准确结果,则抛出一个异常。 1、构造方法Bi...原创 2018-11-30 18:14:26 · 1525 阅读 · 0 评论 -
java 自带 base64 加解密
用 java 自带的 java.util.Base64实现对字符串的加密、解密加密String str = "54564654dsf4sd4fsdfsd56f4sd564f56sdf";String res = Base64.getEncoder().encodeToString(str.getBytes("UTF-8"));解密String str = "54...原创 2019-03-05 09:57:11 · 3271 阅读 · 0 评论 -
int 与 long 的转换
int 与 long 及其包装类之间的转换 int 转 longint a = 1645;long al = (long)a; Integer 转 longInteger a = 456;long al = a.longValue(); long 转 intlong al = 1635000001;int a = (int)al; Long ...原创 2019-02-20 13:36:53 · 1514 阅读 · 0 评论 -
ftp 添加代理
ftp 添加代理,因为是长连接,需要使用 SOCKS 代理服务器 FtpClient ftpClient = new FTPClient();String proxyIP = "11.22.3.44";//代理服务器地址int proxyPort = 2232;//代理服务器端口Proxy proxy = new Proxy(Type.SOCKS, new InetSocketA...原创 2019-02-25 17:06:34 · 3191 阅读 · 2 评论 -
web 项目配置过滤器解决跨域问题
在 web 项目中,可以通过配置过滤器解决跨域问题 1、创建过滤器类 AccessFilter 实现 servlet.Filterpackage com.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.ser...原创 2019-02-14 15:34:14 · 1020 阅读 · 1 评论 -
java instanceof 用法
java instanceof 的用法,它的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据;也可以用来判断继承中的子类的实例是否为父类的实现 示例如下定义一个 Person 类package nice.bean;public class Person { private String head; private String body;...原创 2019-02-25 11:56:55 · 352 阅读 · 0 评论 -
socket 添加代理
使用 HTTP 方式代理package com.network.client;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.InetSocketAddress;import java.net.Proxy;impor...原创 2019-01-18 16:00:53 · 4465 阅读 · 0 评论 -
java 复制文件
java 进行文件复制,代码如下/** * sourceFile 为被复制的文件, destinationFile 为目标文件 * @param sourceFile * @param destinationFile * @throws IOException */public static void copyFile(File sourceFile, File des...原创 2019-01-18 14:31:12 · 414 阅读 · 0 评论 -
java 枚举类
在 java 中,我们一般用枚举类来定义对象是有限的并且固定的类,比如一年四季,它只有4个对象 下面介绍枚举类的常见用法,以棋手等级分和等级名称为例package nice.com.jenum;public enum ChessGrade { firstChessGrade(1900,"一级棋手"), secondChessGrade(1800,"二级棋手"), thr...原创 2018-12-05 09:22:20 · 399 阅读 · 0 评论 -
java 判断list是否为空
java 中判断 list 是否为空可以有两种方式,且这两种方式是等价的其一if(list == null || list.size() == 0 ){ //为空的情况}else{ //不为空的情况}其二if(list == null || list.isEmpty()){ //为空的情况}else{ //不为空的情况}其中list...原创 2018-10-11 18:24:14 · 24044 阅读 · 0 评论