![](https://img-blog.csdnimg.cn/20200722112224124.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
Java核心技术书籍总结和笔记。
个人感觉这本书讲解的非常详细,非常好。
记录下来方便以后查阅。
芭比萌妹
欢迎来到萌妹乐园
展开
-
报sslSocketFactory(SSLSocketFactory) not supported on JDK 9+
OkHttpClient 报JDK9+原创 2023-02-09 10:06:01 · 1009 阅读 · 0 评论 -
java读取jar包中resource下的图片
java 读取resource下文件原创 2023-01-30 10:53:18 · 460 阅读 · 0 评论 -
ZonedDateTime和String互转
ZonedDateTime和String互转原创 2022-08-24 14:35:48 · 1015 阅读 · 0 评论 -
BigDecimal 前后端交互失去精度
BigDecimal 前后端交互失去精度原创 2022-08-16 16:11:34 · 1542 阅读 · 0 评论 -
postman GET请求传Java实体,实体中又有对象实体数组
controller代码接收参数如下:@GetMapping("/getList") @ApiOperation("获取列表") public Object getList(SearchListParam searchListParam) { return null; }SearchListParam.java@Datapublic class PmSearchListParam { /** * ids */原创 2022-05-27 10:15:00 · 3327 阅读 · 1 评论 -
Java POI输出excel单元格画斜线
sheet cell画斜线首先初始化HSSFWorkbook对象,通过此对象创建excel的一个名称为"line"的sheet, 下面是通过sheet对象创建单元格。HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet("line");通过sheet的createRow方法创建table的行,设置行高为77*PXTOPT, 77是像素值转换为poi高需要乘以0.75(PXTOPT),通过row创建HSS.原创 2022-05-24 15:11:52 · 3055 阅读 · 1 评论 -
ES Java分组查询,类似于MySQL的group by
public Map<String, Object> getCountGroup(String index,String startTime,String endTime,String groupFiled) throws IOException { Map<String, Object> resultMap = new HashMap<String, Object>(16); SearchRequest searchRequest = n原创 2022-05-10 14:57:28 · 1352 阅读 · 0 评论 -
Java获取两个时间里的所有月份集合
背景:有两个时间,获取这两个时间里的所有月份集合话不多说,上代码AlarmDateUtil.java public static List<String> getMonthBetween(String minDate, String maxDate) throws Exception { ArrayList<String> result = new ArrayList<String>(); SimpleDateFormat sd.原创 2022-05-10 14:49:10 · 487 阅读 · 0 评论 -
mysql数据多,多线程分页查询
业务:定时从MySQL数据库中读取数据保存到ES中,但MySQL数据量很大,单sql查询非常耗时,同时用List接收处理也有问题。刚开始想到直接分页处理,但发现处理效率很慢。最终想到使用多线程+分页形式处理,效率真的提高了很多。@Component@Slf4jpublic class TestHandler { private static ThreadFactory namedFactory = new ThreadFactoryBuilder().setNameFormat("test-th.原创 2022-04-29 09:25:37 · 1551 阅读 · 0 评论 -
springboot+mybatisplus动态数据源
1.pom.xml,引入 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.2</version> </dependency>原创 2022-04-29 09:11:40 · 508 阅读 · 0 评论 -
CompletableFuture取多个任务结果
public class DemoTest { @Test public void test(){ long start = System.currentTimeMillis(); CompletableFuture<List<Integer>> future1 = CompletableFuture.supplyAsync(() -> { List<Integer> ipPmPortFlow原创 2022-04-26 13:38:33 · 1855 阅读 · 1 评论 -
mysql查询以逗号分隔数据
<select id="" parameterType="" resultMap=""> SELECT user_name,user_type FROM user <where> 1=1 <if test="userTypeList != null and userTypeList.size() >0"> <foreach collection="userTypeList" open="and原创 2022-03-31 14:06:49 · 2319 阅读 · 0 评论 -
Aviator表达式
1.正则表达式-匹配 Map<String,Object> map = new HashMap<>(); map.put("aa","SDGG:.pppp"); Expression expression = AviatorEvaluator.compile("aa =~ /'SDGG:.*'/", true); Boolean result = (Boolean) expression.execute(map); System.out.println("结果"+resu原创 2022-03-23 18:38:39 · 2460 阅读 · 0 评论 -
es 更新延迟
es在更新之后并不是立即可见(可查询)的,会有1s的延迟,可以通过设置refresh_interval参数来修改刷新的间隔。但是在实际应用中,1s的延迟已经算是很久了,在java high level client中,为index、insert、update、bulk 提供了setRefreshPolicy方法,用于设置数据更改后的刷新策略。主要是三个参数IMMEDIATE、NONE、WAIT_UNTIL:NONE:这是默认的一种方式,调用request修改以后,并不进行强制刷新,刷新的时间间隔为r原创 2022-03-23 17:31:33 · 3620 阅读 · 0 评论 -
从数据库中获取需要监听的Kafka topic
背景:Kafka监听数据库中配置topic数据,并将数据转换后进行kafka数据转发1.application.ymltest: kafka: bootstrapServers: 192.168.11.1:9092,192.168.11.2:9092 consumer: group.id: group-id auto.offset.reset: latest enable.auto.commit: true producer:原创 2022-03-09 11:44:44 · 2074 阅读 · 0 评论 -
SpringBoot的ApplicationRunner
场景:在开发过程中,需要在容器启动的时候查询数据库,将数据加载到程序中代码:@Component@Slf4j@RequiredArgsConstructorpublic class InitAppRunner implements ApplicationRunner { public static Map<String, Object> map; @Override public void run(ApplicationArguments args) throws Exce原创 2022-03-09 11:18:03 · 1140 阅读 · 0 评论 -
Java 版本storm-demo
1.创建maven项目,并引入storm的依赖<dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core</artifactId> <version>1.1.0</version> </dependency>2.新建NumberSpout.javapublic cla原创 2022-03-01 18:51:16 · 260 阅读 · 1 评论 -
Java获取部门组织树
本文章记录两种方式获取部门树型结构一、使用mybatis,因循环查库,比较耗时,二、递归查询一、使用mybatis实现1.编写实体类,TreeVO.java@Datapublic class TreeVO { private String value; private String label; private List<TreeVO> children = new ArrayList<>();}2.编写sql 语句,Commo.原创 2021-12-15 11:59:46 · 2338 阅读 · 0 评论 -
解决liquibase.exception.LockException: Could not acquire change log lock. Currently locked by XXXX
项目启动后报liquibase.exception.LockException: Could not acquire change log lock。解决方案,执行下面语句:use job(job为你的数据库);select * from DATABASECHANGELOGLOCK;update DATABASECHANGELOGLOCK set LOCKED="", LOCKGRANTED=null, LOCKEDBY=null where ID=1;select * from DATAB原创 2021-12-01 09:02:16 · 1579 阅读 · 0 评论 -
SpringBoot+Kafka+策略模式
1.pom引入依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency>2.yml文件增加配置spring: kafka: # bootstrap-servers: 19原创 2021-10-14 19:30:13 · 377 阅读 · 1 评论 -
命令方式启动kafka
cmd进入到kafka解压目录(到bin层)启动kafka内置的zk命令:bin\windows\zookeeper-server-start.bat config\zookeeper.properties启动kafka命令:bin\windows\kafka-server-start.bat config\server.properties原创 2021-08-04 17:20:17 · 392 阅读 · 0 评论 -
java判断对象所属类型
使用instanceof 关键字List<String> list = new ArrayList();System.out.println(list instanceof Collection);//true原创 2021-07-26 10:47:03 · 738 阅读 · 0 评论 -
mybatis向动态表名,动态属性表中插入数据
XXMapper.java /** * * * @param tableName 表名 * @param tableFiledList 表字段集合 * @param formDataValueList 表字段值集合 */ int saveData(@Param("tableName")String tableName, @Param("tableFiledList")List<String>原创 2021-07-26 10:44:08 · 532 阅读 · 0 评论 -
Java+Aspose.diagram,导出数据到Visio
Java+Aspose.diagram,导出数据到VisioJava+Aspose.diagram,导出数据到VisioJava+Aspose.diagram,导出数据到VisioJava+Aspose.diagram,导出数据到Visio原创 2021-07-09 10:23:00 · 833 阅读 · 1 评论 -
Springboot+aspose.diagram java去水印
1.下载aspose.diagram jar包,这个是未去除水印的https://pan.baidu.com/s/1nbGKDdKkgovBBFaNag-ukA zett2.去除水印后的jar包https://pan.baidu.com/s/1Ti9uLq904GlthNraYsoQxg gvs63.过程第一步:修改License类,并重新生成class文件第二步:将META-INF下面的.RSA文件替换为空文件或者删除第三步:将新的jar包放到项目中第四步:新建license.x原创 2021-07-09 10:03:28 · 1208 阅读 · 10 评论 -
SpringBoot项目引入jar包到本地
1.在resources下面创建lib文件夹,并将jar放置下面2.打开pom文件,groupId、artifactId、version可以随便写,只要scope和systemPath写对即可;在plugin标签中,加上 <configuration> <includeSystemScope>true</includeSystemScope> </configuration>原创 2021-07-08 15:43:10 · 134 阅读 · 0 评论 -
com.aspose.diagram.afr: Unexcepted eof.
背景:SpringBoot项目,使用aspose.diagram操作Visio,并且使用了模具文件,并将其放在了resource下面代码://读取resource下面的文件,这种方法在linux环境上面依然可以使用Resource resource1 = new ClassPathResource("basic.vss");InputStream stream = resource1.getInputStream();Diagram diagram = new Diagram(stream);原创 2021-07-08 15:35:48 · 201 阅读 · 0 评论 -
SVG转为Png
1.pom中引入maven依赖<!-- svg 生成png格式图片 --> <dependency> <groupId>batik</groupId> <artifactId>batik-transcoder</artifactId> <version>1.6</version> </dependenc原创 2021-07-08 15:22:03 · 825 阅读 · 0 评论 -
使用javassist生成class文件
public static void changeMethod() throws Exception { ClassPool.getDefault().insertClassPath( "本地jar包地址"); //com.aspose.diagram.License需要操作的类 CtClass ctclass = ClassPool.getDefault() .getCtClas.原创 2021-07-05 18:07:49 · 658 阅读 · 0 评论 -
jar包替换class文件
1.需要替换的class文件已经生成好,不再赘述2.复制jar包到D:\dd,确认好需要替换的class文件的包路径,在dd文件夹下面依次创建如:License.class的包:com.aspose.diagram则需要创建com\aspose\diagram目录3.执行jar -uvf aspose-diagram-20.4-jdk16.jar com\aspose\diagram\License.class4.使用jd-gui进行查看,确认是否已经替换成功...原创 2021-07-05 18:00:24 · 753 阅读 · 0 评论 -
jd-gui反编译工具
1.下载jar包地址:https://pan.baidu.com/s/1gm0ly8QlIzKrCnjmd8QPSA 密码:v1eq2.下载后放到磁盘中3.cmd进入命令窗口,执行java -jar jd-gui-1.4.0.jar命令后会打开界面窗口4.选择file-Open file,上传jar包原创 2021-07-05 17:54:36 · 563 阅读 · 0 评论 -
java导入json文件
需求:前后端分离项目,后端springboot项目,导入学生信息json文件格式如下:StudentDto.javapublic class StudentDto { private Student student; private List<Subject> subjects;}StudentController.java@PostMapping("import/json") public void importJson(@Request原创 2021-07-02 14:44:09 · 2100 阅读 · 1 评论 -
Java导入xml文件
需求:前后端分离项目,后端Springboot框架,将学生信息通过xml文件格式导入。一个学生信息,以及该学生选择的学科。student.xml文件格式如下:StudentController.java @PostMapping("import/xml") public void importXml(@RequestBody MultipartFile file){ studentService.importXml(file); }Stude原创 2021-07-02 14:22:57 · 1170 阅读 · 0 评论 -
Java导出json文件
需求:前后端分离,Springboot项目,将学生数据导出为json格式StudentController.java@GetMapping("/getJson") public void studentJson(HttpServletRequest request, HttpServletResponse response){ studentService.studentJson(request,response); }StudentService.java原创 2021-07-02 13:55:32 · 1196 阅读 · 0 评论 -
Java将数据导出为xml格式
需求:前后端分离项目,Springboot项目。需要将学生信息导出为xml文件。StudentController.java @GetMapping("/getXml") public void studentXml(HttpServletRequest request, HttpServletResponse response){ studentService.getStudentXml(request, response, id); }Student原创 2021-07-02 13:49:49 · 3327 阅读 · 1 评论 -
java8 list map相关操作汇总(不断更新~~~)
1.list集合分组转为map// 按照学生学号分组,map的键就是学生的学号,值对应的是学生的整体信息Map<String, List<Student>> map = studentList.stream() .collect(Collectors.groupingBy(Student::getNo));2.list集合对象中,只需要获取该对象的某一属性信息//如获取所有学生的学生姓名List<String> studentListName.原创 2021-06-09 11:40:16 · 1247 阅读 · 0 评论 -
Java-按照指定小时分割时间段
/** * 按照指定小时分割时间段 * @param dateType 类型 M/D/H/N -->每月/每天/每小时/每分钟 * @param dBegin开始时间 * @param dEnd结束时间 * @param time 指定小时(如:1、2、3、4) * @return */public static List<String> findDates(String dateType, Date dBegin, Date dEnd,int time) t原创 2021-06-09 11:24:45 · 5827 阅读 · 6 评论 -
通过git页面合并分支
1.点击页面右上方的加号按钮,之后选择New Merge request2.选择源分支和目标分支,后点击Compare branches and continue3.填写合并内容原创 2021-05-08 15:04:45 · 1220 阅读 · 0 评论 -
从A分支拉取最新代码到B分支
1.首先切换到A分支上,拉取最新代码2.切换到B分支。3.选中A分支中的Merge into Current即可。原创 2021-05-08 14:50:59 · 727 阅读 · 0 评论 -
idea中git分支合并
合并到哪个分支本地就需要切换到哪个分支。1.在idea中分支切换如下:选中需要切换的分支之后选择checkOut2.选择你编写代码的分支,合并以上操作就是从test/0508分支合并到develop分支上。原创 2021-05-08 14:45:47 · 319 阅读 · 0 评论