自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (6)
  • 收藏
  • 关注

原创 基于线程池的HttpUtil

一.支持Get请求传Text格式1.porm文件 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency>2.需要自定义Entity,使get可传Textimport java.net.URI;

2021-08-17 18:01:04 382

原创 Docker 容器

1.修改容器时间//进入容器docker exec -it container_id /bin/bash  //修改容器时区为北京时间ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime//查看时间date

2021-08-17 14:20:57 115

原创 Kafka

1.KafkaProducer 的实现是线程安全的,所以我们可以在多线程的环境下,安全的使用 KafkaProducer 的实例。2.KafkaConsumer是线程不安全的,需要用户控制

2021-08-12 11:26:01 123

原创 Kafka配置自动注入参数

1.springboot自动注入的类:KafkaAutoConfiguration@Bean @ConditionalOnMissingBean(ProducerFactory.class) public ProducerFactory<?, ?> kafkaProducerFactory( ObjectProvider<DefaultKafkaProducerFactoryCustomizer> customizers) { DefaultKafkaProducer

2021-08-12 10:04:20 629

原创 Springboot整合kafka

一.maven依赖 :1.kafka版本 2.6.02.fastjson 用于对象转String<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency> <depend

2021-08-12 10:01:16 418

原创 数据库事务

1.数据库基本事务写法try (Connection conn = getConnection()) { //设置不自动提交 conn.setAutoCommit(false); Statement st = conn.createStatement(); String sql = ""; st.execute(sql); conn.commit(); //手动提交} catch (Exception e) { conn.roolback();

2021-08-05 10:03:39 420

原创 日常开发注意事项

1.当字段名为is_xxx,需要注意自动生成的getset方法,需要是getIsXXX和setIsXXX,不然请求体自动接收参数时(@requestBody)无法注入;

2021-08-03 09:45:09 93

原创 redis_db_consistency

数据库与缓存一致性问题:缓存(如Redis)用来对数据库的加速,对于更新场景,缓存和数据库的数据一致性如何保证,更新的逻辑是怎么样实现?可行方案:1.Cache Aside Pattern(错误率较小,并可保证数据最终一致性)更新:先更新DB成功后再删除缓存读:先查询缓存,若无数据则查询数据库再将数据插入缓存中缓存:设置过期时间或者增加删除缓存重试的定时任务(防止删缓存的时候失败)存在的问题:问题1.A更新DB后还未删除缓存,用户B读取到缓存。问题2.一个是读操作,但是没有命中缓存,

2021-07-30 18:08:32 83

原创 加解密-AES

/** * DES加密 解密算法 **/public class SecurityUtil { private SecurityUtil() { } private static final Logger LOG = LoggerFactory.getLogger(SecurityUtil.class); //AES 加密算法 private static final String AES = "AES"; //使用AES算法 / GCM分组加密模式

2021-07-07 16:52:35 88

原创 压测-JMeter

一.名词解释1.throughput:吞吐量(每秒执行的线程数)TPS(TransactionsPerSecond)持续时间=最后一个线程启动的时间+最后一个线程持续的时间-第一个线程启动的时间吞吐量=总的线程数/持续时间=100/4.524=22.1个线程/sec2.响应时间(RT Response Times)3.QPS:Query Per Second ---- 每秒查询率,每秒访问服务器资源多少次3.线程数:模拟用户请求数4.Rame-Up-Time :请求数全部执行完的时间数如线程

2021-07-01 11:25:28 672

原创 多模块构建

第一步: 父项目jar改pom第二步 新建子项目 new->Module->Maven->Next-finsh第三步修改pom3.1父模块的module有子模块 <modules> <module>server</module> </modules><packaging>pom</packaging>//去除build,父模块不构建3.2子模块的parent指向父模块<art

2021-06-04 16:24:43 148

原创 Mybatis返回值

默认配置情况:默认情况下,mybatis 的 update 操作返回值是记录的 matched 的条数,并不是影响的记录条数。insert和delete是受影响的条数 int flag; //root3 不存在 ;返回值是0 flag = deleteByUserName("root3"); //root2 存在; 返回值是1 flag = deleteByUserName("root2"); //若外键不能删;则删除抛异常 UserInfo u

2021-05-19 15:06:10 1891 1

原创 项目指定启动类的Main

普通java项目启动指定启动类mainjava -cp startfish-0.0.1-SNAPSHOT.jar -Dloader.main=com.hongcheng.bigdata.common.db.Upgradespringboot项目启动指定启动类的Mainjava -cp startfish-0.0.1-SNAPSHOT.jar -Dloader.main=com.hongcheng.bigdata.common.db.Upgrade org.springframework.boot.l

2021-05-18 17:06:41 419

原创 shell脚本中路径分隔符多一个换行

问题:通过shell脚本中分隔符多一个换行解决:idea中设置分隔符为linux分隔符

2021-05-18 16:58:45 287

原创 springboot读取配置文件

1.读取jar包中的资源文件,可以通过Class类的getResourceAsStream()方法,即通过流的方式来获取 :注意:1.fileName不能带/2.只能读取jar包内部的资源文件private static final String PLATFORM_PROPS_FILE_NAME = "platform.properties";PlatformConf.class.getClassLoader().getResourceAsStream(fileName)...

2021-05-10 16:23:05 70

原创 Maven 构建项目

1.构建项目排除配置文件 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.4.4</version> </plugin

2021-05-10 16:20:16 61

原创 Git-统计代码行数

1.统计代码总行数find . "(" -name "*.java" -or -name "*.xml" -or -name "*.properties" -or -name "*.yml"")" -print | xargs wc -l2.统计指定用户的指定时间的修改数git log --author=cglab --since=2021-04-26 --until=2021-05-09 --pretty=tformat: --numstat | awk '{ add += $1; subs +=

2021-05-10 14:36:44 1078

原创 Arthas使用

一.简易安装curl -O https://arthas.aliyun.com/arthas-boot.jar二.运行java -jar arthas-boot.jar三.使用3.1 jad 反编译 -E使用正则jad com.hongcheng.bigdata.startfish.controller.auth.LoginControllerjad -E .*?LoginControllerjad -E .*?LoginContr.*3.2 tt 记录方法的调用情况安装好art

2021-04-28 11:20:43 686

原创 mysql知识点

mysql中没有多主键,只有联合主键。也就是说不能够同时存在多个独立的primary key,只能一个主键由多个字段组成

2021-04-23 15:57:49 47

原创 JDK1.8之ConcurrentHashMap

1.ConcurrentHashMap 的get方法并未加锁;原理:Node对象中的key是final修饰 ,value是volatile修饰;static class Node<K,V> implements Map.Entry<K,V> { final int hash; //不可变量 final K key; //可见性 volatile V val; //volitile 修饰

2021-04-23 14:38:55 248

原创 mybatis插入mysql中文乱码

controller接收前端请求中文参数并未乱码,插入数据库后乱码。考虑是数据库的编码格式存在问题查看数据库字符编码show variables like 'character%';1.修改mysql的配置文件vim /etc/my.cnf2.增加如下配置[mysqld]character-set-server=utf8[client]default-character-set=utf83.重启数据库systemctl restart mysqld...

2021-04-13 15:05:05 203

原创 时间工具类

import java.text.ParseException;import java.text.SimpleDateFormat;import java.time.Duration;import java.time.Instant;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.ZoneId;import java.time.format.DateTimeFormatter;import

2021-04-01 11:23:25 58

原创 SimpleDateFormat

原因:线程不安全在SimpleDateFormat转换日期是通过Calendar对象来操作的,SimpleDateFormat继承DateFormat类,DateFormat类中维护一个Calendar对象Calendar实例被用来进行日期-时间计算,既被用于format方法也被用于parse方法!在parse方法的最后,会调用CalendarBuilder的establish方法,入参就是...

2021-01-15 19:36:56 70

原创 java线上排查

Jvm调优主要三方面:1.自己的代码是否存在缺陷2.垃圾回收器的选择3.jvm参数的调整什么是垃圾没有任何引用指向的对象或者一堆对象(多个对象循环引用)找到垃圾:1.referece count 引用计数(无法找到循环引用),计算被引用的个数,容易造成内存泄漏2.jvm真正使用的事跟可达算法root searching,跟对象包括下图四种。(可以简单理解于main里的)回收垃圾:...

2021-01-14 21:40:21 70

原创 notepad正则替换

images/env_var/win/(\w+).jpgimages/env_var/win/\1.png勾上正则,勾上匹配新行ShowInfo/ShowSearchInfo.aspx?CategoryNum=(\1)&Eptxt=&datefrom=&dateto=&zbfs=&Paging={pageNum}...

2021-01-14 21:38:40 186

原创 sql记录

Mysql limit分页的问题如果没有指定ORDER BY语句,则SQL Server(或任何RDBMS)不保证以特定顺序返回结果。 有些人认为,如果没有指定order by子句,行总是以聚簇索引顺序或物理磁盘顺序返回。 然而,这是不正确的,因为在查询处理期间可以改变行顺序的许多因素,例如并行的HASH连接是更改行顺序的操作符的一个很好的例子。如果指定ORDER BY语句,SQL Serve...

2021-01-14 21:38:20 67

原创 jdk8

1.永久代已经移除,改用metaspace(元空间)

2021-01-14 21:37:55 43

原创 oracle知识

注意事项:正常情况下resultset是指针,指向数据库的数据,本身是不存储数据库的数据的,默认情况下就算是提交的sql能查询处上亿条的数据也是不消耗内存的,但是如果用的是可滚动结果集的resultset情况就不一样了,oracle 是不支持可滚动结果集的,那么我们用jdbc得到一个可滚动的结果集就是由jdbc自己支持的,也就是说结果集是要存放在内存中的,所以在海量数据的情况下也就是要消耗大量内...

2021-01-08 20:41:00 63

原创 ThreadLocal

ThreadLocal从源码看是存在ThreadLocalMap以当前thread作为key,和value(可通过重写initialValue赋初始值)使用ThreadLocal一般使用private static修饰,防止无意义的threadlocal实例的创建当static时,ThreadLocal ref生命延长-ThreadMap的key在线程生命期内始终有值-ThreadMap的va...

2020-04-23 17:36:44 61

原创 四种引用强软弱虚

1.强引用(StrongReference)是当生命周期结束时回收,如局部变量则在方法结束后消失,全局变量则在程序结束后消失。可通过o=null;弱化2.软引用(SoftReference)如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。Brows...

2020-04-23 17:36:01 97 1

原创 springboot注意事项

动态切换java -jar spring-boot-application-properties-sample-1.0.0.jar --spring.profiles.active=devargs = new String[]{“KAFKA”,“NORMAL”,“KAFKA”,"****","–spring.profiles.active=dev"};Springboot @value不能给...

2020-03-20 11:04:50 57

原创 反射赋值

demo:public static void beanTools () throws Exception{ String beanString="cn.com.***.XXX"; Class clazz=Class.forName(beanString); Object bean= clazz.newInstance(); //使用的类对应属性的小写如Abc,则为abc B...

2020-01-13 16:54:36 51

原创 java异常处理

资源回收的处理,防止close出现异常finally{ try{ // 在finally对异常进行单独处理 if(fis!=null){ //非空才关闭 fis.close(); } }catch(Exception e){ //异常处理...

2020-01-09 14:16:03 37

原创 java编程习惯

1.StringUtils.isEmpty与StringUtils.isBlack的区别:推荐使用StringUtils.isBlackStringUtils.isEmpty是针对null和"“为trueStringUtils.isBlack是针对null和”“和” “和” "为true2.在方法接受参数后,尽量进行参数校验,如判空等3.编写代码前需要先更新svn...

2020-01-08 10:19:17 84

原创 日志

较好的博客:https://blog.csdn.net/qq_35885488/article/details/80779793获取 logger在 logback 中,每个 logger 都是一个单例,调用 LoggerFactory.getLogger 方法时,如果传入的 logger name 相同,获取到的 logger 都是同一个实例。在为 logger 命名时,用类的全限定类名作...

2019-12-31 13:52:34 344

原创 linux常用知识

linux 常用命令查看进程 ps -ef|grep javaps mean:process status-e 显示-f 全格式grep 查找正则global regular expression print杀死进程 kill PID 例 kill 9112 kill -s 9 9112 强制杀死vimesc 退出当前状态i 插入状态???? 文本尾部:%s/string/&am...

2019-12-31 13:51:25 40

原创 Integer和int的注意事项

public class IntegerTest { public static void main(String[] args) { Integer a=18; Integer b=18; Integer c=new Integer(18); int i=18; System.out.println(a==b...

2018-09-13 10:10:39 578

原创 java编程思想---第十五章泛型相关点

1.不用linkedlist,实现自己的内部链式存储机制public class LinkedStack&lt;T&gt; { private class Node{ private T item; private Node next; public Node(T item ,Node next){ this...

2018-07-15 16:38:35 164 1

原创 自定义注解

1.需要在包下新建一个 annotention的类 2.需要在类上加两个注解 @Target(METHOD) 是作用的目标,这里我们是基于方法的 如果是基于类或接口的那么就需要用@Target(ElementType.TYPE)@Retention(RUNTIME)@Target(METHOD)public @interface AccessLimit { int secon...

2018-07-14 10:36:25 320

原创 java编程思想---第三章操作符知识点

1.操作符(=,==,!=)可以操作所有的对象 2. 基本数据类型存储了实际的数值,而并非引用,所以直接为其赋值是直接将值赋给它。例如a=b是将b的内容赋给a,a值得改变与b无关。...

2018-07-11 10:05:50 148

谷歌自己的书签,用于备份

谷歌自己的书签,用于备份

2024-04-10

自己的kafkademo,springboot

自己的kafkademo,springboot

2024-04-09

自己的新demo项目,springboot

自己的新demo项目,springboot

2024-04-09

自己的demo项目,kafka

自己的demo项目,kafka

2024-04-09

自己的demo,springboot项目

自己的demo,springboot项目

2024-04-09

自己的基础小demo,springboot

自己的基础小demo,springboot

2024-04-09

springboot0409小demo

springboot0409小demo

2024-04-09

自己的demo,springboot项目

自己的demo,springboot项目

2024-04-09

自己的小demo备份,仅自己备份

自己的小demo备份,仅自己备份

2023-06-28

自己的小demo测试备份

自己的小demo测试备份

2023-03-21

mybatis逆向工程demo.zip

mybatis逆向工程demo配合idea插件

2021-04-01

springbootdemo.zip

项目demo,主要用于自测

2021-04-01

mybatis资源,用于自学

mybatis资源,用于自学

2020-10-09

PowerfulJava.zip

针对自己的练习使用,谨慎下载,包括各种杂七杂八的东西,用于备份

2020-07-07

开发技术的学习.zip

自己备份使用,大概只有自己能看懂。有兴趣的可以看看

2019-08-04

office开发小图标,复制粘贴小图标

office开发小图标,例如一些复制粘贴的小图标,以及其他类似的小图标,可用于自己开发的项目中,如我在visio的二次开发就会用到

2018-01-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除