![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javase
文章平均质量分 56
jwolf2
华山论剑
展开
-
提高项目可扩展性的java spi机制运用-自定义日志框架
1. 理论参考2. 案例提供一个简单的日志框架myslf4j①定义核心接口public interface MySlf4j { void log(String msg);}②定义一个默认实现(有些框架不一定给默认实现,如果用户也引入厂商的实现就报错,这里还是给个默认实现比较好)public class MySlf4jDefaultImpl implements MySlf4j { @Override public void log(String msg)原创 2021-11-09 00:00:43 · 484 阅读 · 0 评论 -
文件读取需要注意的编码问题
环境常见编码设置一般开发PC编码为GBK,IDE编码设置为utf-8,服务器编码utf-8,代码编码一般指定utf-8测试代码import java.io.BufferedReader;import java.io.FileInputStream;import java.io.InputStreamReader;import java.nio.charset.Charset;import java.util.stream.Collectors;public class T {原创 2021-10-10 21:37:26 · 651 阅读 · 0 评论 -
ssl socket配置读取路径问题
启动ssl socket的配置读取方式有几种通过jar包启动命令java -jar -Djavax.net.ssl.keyStore=xxxx指定,不太灵活,不能使用相对路径通过System.setProperties设置,这里可以使用相对或绝对路径,如果启动报错“can not pen xxx.jvm.cfg”,可尝试在jdk bin命令进行启动,仍然会启动失败Caused by: java.io.FileNotFoundException: file:\E:\test\demo2\targe原创 2021-09-20 14:03:06 · 423 阅读 · 0 评论 -
socket通信可能出现的异常情况
server端`package com.example.demo.socket;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;import java.time.LocalDateTime;import java.time.format.DateTimeFo原创 2021-07-28 23:25:24 · 1970 阅读 · 0 评论 -
socket server client demo
serverpackage com.example.demo.socket;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;import java.time.LocalDateTime;import java.time.format.DateTimeForm原创 2021-07-16 23:57:38 · 184 阅读 · 0 评论 -
JNA之C/C++ .so/.dll链接库调用
JNA(Java Native Access)建立在JNI之上,用来调用C/C++链接库文件(windows的dll,linux的so文件)目录测试一:运行平台winows,使用系统自带.dll测试二:运行平台linux,使用自定义.so测试三:运行平台windows,使用自定义.dll测试一:运行平台winows,使用系统自带.dll这里使用系统中已有的C:\Windows\System32或C:\Windows\SysWOW64下的msvcrt.dllimport .原创 2021-05-23 21:01:00 · 279 阅读 · 0 评论 -
JDK8 parallelStream并行流异常时是如何管理异常的
1.测试进程与测试结果package com.example.demo.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.Arrays;import java.util.List;import java.util.Random;/** * <p> * Description: TODO * </p> * * @author majun * @ve原创 2021-05-20 22:53:34 · 3751 阅读 · 6 评论 -
如何做好自定义异常
自定义异常要点:自定义异常一般继承运行时异常,否则调用方需要显示处理异常 构造方法注意传入errorMsg,调用父类构造,这样打印的日志才会打印异常信息,如下xxxx 异常状态码的定义:通用0500,前端响应拦截器对该状态码进行统一弹窗等处理。错误枚举类型定义其它一些状态码,主要定义需要前端特殊处理的状态码。@Getterpublic class CommonException extends RuntimeException { private String errorCode; p原创 2021-04-22 00:07:17 · 180 阅读 · 0 评论 -
测试jvm类加载/卸载,热加载,双亲委派模型
理论参考1 理论参考2测试代码@Getter@Setterpublic class Test {private String userName="111";} public static void main(String[] args) throws Exception { URL url = new URL("file:D:\\vehicle_2.0\\vehicle-user\\target\\classes\\"); URLClassLoa原创 2020-11-17 14:11:13 · 187 阅读 · 0 评论 -
高效序列化protobuf测试——确实不错
1.Github下载protobuf编译工具 ,如windown版本protoc-3.13.0-win64.zip2.进入解压包,编写.proto文件,语法详解3.进入该目录执行cmd命令:protoc.exe --java_out= ./ test.proto 在当前文件目录下生成java文件4.将Java文件copy到项目中,并导入需要的依赖<dependency> <groupId>com.google.protobuf</groupId&g原创 2020-09-22 19:08:16 · 440 阅读 · 0 评论 -
JDK8 stream API,并行API的适用场合
public class Test { public static void main(String[] args) throws Exception { //准备一个数据源集合,测试将集合元素拼接一个字符放入另一个集合 ArrayList<String> resourceList = new ArrayList<>(); ...原创 2018-05-10 16:39:31 · 2853 阅读 · 1 评论