java
Drgom
多做事,少说话
展开
-
gc的意义和触发条件
jvm学习随手记录,介绍关于jvm的集中普遍的清理策略原创 2022-07-07 23:40:50 · 675 阅读 · 0 评论 -
Mavn打包插件以及打包命令
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.0.0</ve.原创 2022-02-18 23:20:40 · 133 阅读 · 0 评论 -
json与对象的序列化和反序列化
json的序列化和反序列化需要用到alibaba的fastjson依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.66</version> </dependency>反序列化将json字符串转化原创 2022-01-23 20:41:25 · 385 阅读 · 0 评论 -
SpringBoot配置jdk11
最近想尝试用jdk11跑一下SpringBoot,在网上找了篇还不错的博客,地址,jdk11有很多不错的改进,因此有必要把万年不换的jdk8给换一下修改properties替换mavn插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId原创 2021-10-12 23:26:18 · 2510 阅读 · 0 评论 -
SpringBoot配置多数据源
添加依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>3.1.0</version> </dependen修改配置datasour原创 2021-10-10 17:17:31 · 84 阅读 · 0 评论 -
JAVA的读写锁
我们都知道锁分共享锁和排他锁,实际使用中我们一般将锁机制分为读和写两种场景,即我们期望写入排他,读取共享。Java由此提供了包转后的读写锁工具类。//创建对象 ReadWriteLock readWriteLock=new ReentrantReadWriteLock(); //创建写锁 readWriteLock.writeLock().lock(); //解锁 readWriteLock.writeLock().unlock(); //创建读锁 readWriteLock.readLoc原创 2021-08-19 14:27:35 · 336 阅读 · 0 评论 -
java的八锁问题
java的锁有对象锁和类锁两种,但不同的锁在不同的场景下是不同的,区别在于1.对于普通同步方法,锁是当前实例对象(this)。2.对于静态同步方法,锁是当前类的Class对象。3.对于同步方法块,锁是Synchonized括号里配置的对象讨论到java的八锁问题,我们一般讨论的是java锁住了类还是对象,或者或者是静态方法块同步方法块的讨论package day2.八锁问题;import org.junit.Test;import java.util.concurrent.TimeUn原创 2021-08-18 21:29:18 · 319 阅读 · 1 评论 -
java集合之HashSet
特征HashSet是实现Set,功能上相比ArrayList的特点具有去重的功能。其底层是通过HashMap实现的。正如名字的Hash,HashSet的去重是使用集合元素的hash值来实现的。HashMap采用链表+数组形式,每一个元素加入会先通过hash取值,获得数组的位置,再判断该数组的链表位置是否有元素,如果有判断是否相同,相同则跳过,如果不同,将其加入链表末尾源码分析下文通过HashSet的add操作,来解读HashSet的功能//代码debug调试public class HashS原创 2021-07-17 23:30:00 · 229 阅读 · 3 评论 -
记一次不太聪明的微服务优化方案
优化的方案的使用,先要判断系统的瓶颈在于哪一个,对于并发,可以使用java原生的并发或者springcloud的并发方法,或者使用kafka消息队列并发写入,对于数据库读写的方案,可以redis存储热点数,个人认为最省事的是使用kafka消息队列,兼顾性能和安全性数据异步提交优化 ==》延迟增加 1.使用java的异步提交 耗时增加 内存消耗增加2.spring框架优化 移除tomcat模块3.启用kafka消息队列 响应效果好 都能得到响应,数据不丢失 缺点: 消费者消费能力原创 2021-06-22 13:13:19 · 195 阅读 · 0 评论 -
springboot处理fastjson的多层嵌套
我要获取json的信息,但是问题是json嵌套了太多层,刚开始我想到阿里巴巴的fastjson工具导入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.66</version> </depe原创 2021-06-02 22:35:43 · 1441 阅读 · 2 评论 -
JAVA集合之Arraylist使用方法
在B站看了狂神的juc,视频按着视频,跟着敲了代码,这天刚好。顺便贴上博客,好回头复习//list集合不安全public class ListTest { public static void main(String[] args) { //这是个普通list集合添加的操作,如果不加限制,在多线程的环境下会出现 java.util.ConcurrentModificationException List<String> alist = new Arra原创 2021-04-12 14:26:11 · 272 阅读 · 0 评论 -
ForkJoin的分支任务
import java.util.concurrent.ExecutionException;import java.util.concurrent.ForkJoinPool;import java.util.concurrent.ForkJoinTask;import java.util.concurrent.RecursiveTask;public class test3 { public static void main(String[] args) throws Execution原创 2021-03-09 13:46:28 · 92 阅读 · 0 评论 -
java的stream过滤学习
import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.experimental.Accessors;import java.lang.reflect.Array;import java.util.Arrays;import java.util.List;//从三本书过滤出书名为java且价格大于46的书public class test5 {.原创 2021-03-09 12:50:32 · 426 阅读 · 0 评论 -
用工具类创建线程池
//创建单一线程 ExecutorService executorService= Executors.newSingleThreadExecutor(); //创建可伸缩线程 ExecutorService executorService1=Executors.newCachedThreadPool(); //指定创建3个线程 ExecutorService executorService2=Executors.newFixedThreadPool(3);一般不会用newCachedThre原创 2021-03-07 21:43:40 · 184 阅读 · 0 评论 -
java线程池学习(自定义线程池)
线程池几个重要参数public ThreadPoolExecutor( int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runna原创 2021-03-07 21:33:49 · 118 阅读 · 0 评论 -
springboot实现下载和上传文件功能
@Controllerpublic class FileController { // 向文件上传页面跳转 @GetMapping("/toUpload") public String toUpload(){ return "upload"; } // 文件上传管理 @PostMapping("/uploadFile") public String uploadFile(MultipartFile[] fileUpload, Mode原创 2020-11-03 13:21:38 · 408 阅读 · 1 评论 -
Linux(centos8)安装jdk8
先将jdk文件上传到服务器#将jdk解压到指定文件夹tar -xzvf jdk-8u171-linux-x64.tar.gz -C /export/server/#修改 /etc/profile 添加如下命令 并保存export JAVA_HOME=/export/server/jdk1.8.0_171export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/export PATH=$PATH:$JAVA_HOME/bin#配置文件生效source /etc原创 2020-11-03 14:09:37 · 443 阅读 · 0 评论 -
ssh启动zookeeper失败的集群修改后的启动脚本
不知道用ssh命令启动不了zookeeper集群所以我干脆改用两个脚本启动zookeeper在此处使用启动脚本a启动zookeeper的启动脚本b#!/bin/shfor host in hadoop01 hadoop02 hadoop03do ssh $host "source /etc/profile; sh /root/xcall1.sh"done此处是zookeeper的启动脚本的启动脚本b#!/bin/shfor host in hadoop01 hadoop02 hadoo原创 2020-10-25 17:21:08 · 122 阅读 · 0 评论 -
Grade配置阿里云的镜像
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven{ url 'http://maven.aliyun.com/ne原创 2020-10-22 20:29:51 · 559 阅读 · 0 评论 -
Consul的安装及运行
#运行的代码consul agent -dev#版本的代码consul -version原创 2020-07-17 16:15:43 · 260 阅读 · 0 评论 -
Redis的hash数据的java.util.HashMap类型数据的转化为实体类的方法
这是我的reload类@RedisHash("Reload")public class Reload implements Serializable { @Indexed private Integer id; @Indexed private String email; private String word; public Integer getId() { return id; } public void set.原创 2020-06-17 22:20:20 · 2123 阅读 · 0 评论 -
springboot的RedisTemplate的hash类型操作(结合mysql)
这是我的目录结构这是我的依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <!-- Spri原创 2020-06-11 18:54:52 · 1361 阅读 · 0 评论 -
springmvc前后台json数据的传输
//实现序列化对象import java.io.Serializable;public class User implements Serializable { private String id; private Integer age; public String getId() { return id; } public void setId(String id) { this.id = id; }原创 2020-05-22 22:45:43 · 204 阅读 · 0 评论 -
springmvc的的html视图解析器
这是我的目录结构<!--这是我的视图解析器--> <!--配置html的视图解析器对象--> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath"> <value>/W原创 2020-05-18 15:12:43 · 883 阅读 · 0 评论 -
mybatis的Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession问题
依赖包冲突,重新导入原创 2020-05-13 20:16:35 · 460 阅读 · 0 评论 -
spring整合mybatis的非xml方式
这是我的目录结构这是我的sql文件这是我的spring配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/s原创 2020-05-11 16:23:07 · 468 阅读 · 0 评论 -
mybatis的多对多的resultmap元素测试
这是我的包结构这是我的实体类public class Order implements Serializable { private Integer id; private String number; private int user_id; private List<product> productList; private List&...原创 2020-05-07 13:56:03 · 222 阅读 · 0 评论 -
java整合mybatis连接myql的多线程测试
首先我的cpu是准备sql我的mybatis的文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"...原创 2020-04-25 20:32:03 · 363 阅读 · 0 评论 -
线程同步例子
package Synchronized;/** * Thread的单例的模式 * **/public class T2 implements Runnable { private int count=100; /*synchronized 同步保证count的原子性及可见性一致*/ public synchronized void run() { ...原创 2020-04-23 10:40:58 · 358 阅读 · 0 评论 -
springboot的autowired注入失败问题
使用MapperScan扫描具体的包,亲测可用。同时springboot启动停止时添加依赖 org.springframework.bootspring-boot-starter-web原创 2020-03-28 14:24:38 · 842 阅读 · 0 评论 -
java正则表达式
package lab01;import java.util.regex.Matcher;import java.util.regex.Pattern;public class test01 { public String a="123"; String b="abcdef1239854145as5285"; String k="88546720441"; public void...原创 2019-11-20 22:44:23 · 92 阅读 · 0 评论