自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同

MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同

2023-02-24 17:44:53 1251

原创 JAVA1.8阅读String类源码心得体会

JAVA1.8阅读String类源码心得体会前几天在二面某大厂的时候被问到String类的问题,没有回答上来。所以回来恶补了一下String类的源码。确实阅读源码感受到了设计者代码的优雅和巧妙,在此记录一下自己印象比较深刻的心得体会。equals()用来判断两个字符串是否相等,这里使用了很巧妙的判断逻辑,来尽量节省时间。首先判断待比较的对象是不是自己本身,然后判断和待比较对象是不是同一个类...

2019-09-05 16:37:08 203

原创 SSE(Server Sent Event) 踩坑留念

sse

2024-05-27 15:14:18 366

原创 响应式编程上下文

方案1:使用ThreadLocal,但是这会有个缺点,在我们自定义线程池的时候,在调度的时候几个订阅关系可能会共用一个线程池,故不同订阅关系之间可能会由于ThreadLocal而产生数据泄露。这种情况会带来一个问题,若存在这么一种情况:我们需要在线程的上下文中存储一些对象数据,方便我们在整个执行的过程中使用他们,在生命周期结束的时候将存储的数据进行销毁。所以我们该如何存储呢?Mono.deferContextual(c-> c.get(key)):获得Context中指定Key对应的Value值。

2024-02-21 17:05:47 937

原创 【gradle】通过 toml 管理 classifier 的写法

toml,gradle,java

2023-11-15 19:44:45 431

原创 如何复制本地文件到 docker 容器

【代码】如何复制本地文件到 docker 容器。

2023-05-18 21:16:17 238

原创 基于 debian 发行版本的密码设置策略

需要安装 pam 扩展包 libpam-pwquality 或 libpam-cracklib。安装成功后 /etc/pam.d/common-password 文件会新增一行配置策略。自动登出策略已经设置了 5m ,来自配置文件 /etc/ssh/sshd_config。修改 /etc/pam.d/common-password 的配置策略。以三级等保的要求为例,要求如下(如值为 -1 代表不限制)修改 /etc/login.defs 中的选项。我们将该值改为 90。

2023-05-17 21:07:14 3924

原创 MySQL 查询优化深度分页

深度分页优化,mysql查询优化,数据库优化

2023-03-22 17:19:08 154

原创 Java 读取本地txt文件

普通方式和行为参数化方式public class ProcessFileDemo { public static void main(String[] args) throws IOException { String line = processFile(); System.out.println("readline "+line); String lambdaLine = processFileLambda((BufferedReader br

2022-03-17 17:04:51 2539

原创 ES 创建索引Template

{ "mappings": { "properties": { "complexLabelId": { "type": "integer" }, "createTime": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss" },

2022-03-03 17:33:31 1106

原创 【Docker】镜像地址改为国内

选择 docker-engine输入这段:“registry-mirrors”:[ “https://registry.docker-cn.com” ]{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "features": { "buildkit": true }, "experimental": false, "registry

2022-03-03 11:32:40 388

原创 单例 vs 依赖注入

先说结论看了几篇文章,我个人对依赖注入的理解是,依赖注入更擅长解决一个 ”引用传递“ 的问题;对单例的理解是,如果某类被许多类引用,且是一个比较稳定的变量不需要逐层传递,则使用单例更好;单例模式单例是一种设计模式,它表示在整个应用程序的声明周期中,某个类只有一个实例。单例模式的典型实现如下:public class BankGateway { public static BankGateway Instance = new BankGateway(); private Bank

2022-02-08 16:41:58 1548

原创 git找回服务端分支

本地分支和服务端分支都被删除了,在此情况下根据提交信息恢复服务端分支根据 commit id 创建本地分支可以根据 git log 命令或其他方式找回 commit id然后 通过 git branch {branch-name} {commit-id} 命令 根据commit id 创建本地代码分支如:git branch recover_video_bucket 9e7fae6f257e3edbc7e504be33a81d3bd0fas此时本地会成功创建一个代码分支名为 recover

2021-10-22 11:19:42 208

转载 取得inputStream的长度

网络文件URL url = new URL(strUrl);HttpURLConnection httpconn = (HttpURLConnection)url.openConnection(); httpconn.getContentLength();本地文件InputStream inputStream = urlCon.getInputStream();inputStream.available();

2021-03-10 21:29:59 5910

原创 k8s命令行操作

1)控制台输出较少日志kubectl logs b612-engine-789dd998bf-wvvvm -c b612-engine | less -R2)输入/ 向下搜索,输入?向上搜索3)B 向前backN 向后nextshift + F 向后翻页shift + B 向前翻页

2021-03-04 14:16:05 676 1

原创 git切换远程分支为develop

git切换远程分支为developgit push --set-upstream origin 分支名git push --set-upstream origin develop

2021-02-05 15:52:32 1238

原创 JAVA Bean转换为MAP,兼容@JsonProperty

public static <T> Map<String, Object> bean2Map(Object object) { Map<String,Object> maps = new HashMap<>(); try{ Field[] fields = object.getClass().getDeclaredFields(); if (fields!=null &&a

2021-01-16 11:49:06 680 7

原创 idea小技巧

转自:https://blog.csdn.net/linsongbin1/article/details/80211919

2021-01-08 10:24:53 126

原创 git本地未提交代码找回

1.git stash list查看暂存列表,最近的一次暂存是stash@{0}。(查看暂存修改内容git show stash@{0})2.git stash apply stash@{0} 取出暂存号为stash@{0}的代码。即git stash apply xxxx(暂存号)参考:https://www.cnblogs.com/liuyongfa/p/13995329.htmlhttps://www.cnblogs.com/xzdm/p/11064514.html...

2021-01-07 11:44:02 3419

原创 stream操作符demo

public class TransMain { public static void main(String[] args) { Set<String> set = Set.of("lilei","hanmeimei","michael","kangkang","jane","liulei"); Stream<String> stream = set.stream(); stream.filter(s -> s.l

2020-11-27 18:12:48 131

原创 函数式编程与接口的对比

函数式编程与接口实现的对比lambda表达式表达的是接口函数,箭头左侧是函数参数,箭头右侧是函数体。函数的参数类型和返回值类型都可以省略,程序会根据接口定义的上下文自动确定数据类型。package design.mode.reactivex.function;public class SimpleFuncMain { interface Body{ String lowwer(String low); } interface Printer{

2020-11-27 15:12:31 223

原创 设计模式之命令模式 Command

模式之命令模式1)先创建一个command接口,里面只有一个execute() 方法等待实现public interface Command { void execute();}2)创建一个灯类作为demopackage design.mode.command;public class Light { public void on(){ System.out.println("light on now"); } public void off

2020-11-26 10:38:11 147

原创 基于Flow.Publisher/Flow.Subscriber的观察者模式

基于Flow.Publisher/Flow.Subscriber的观察者模式基于Flow.Publisher/Flow.Subscriber的观察者模式发布者Sender实现Flow.Publisher接收者Receiver实现Flow.SubscriberMain函数验证结果基于Flow.Publisher/Flow.Subscriber的观察者模式此Demo代码由三部分组成,分别是发布者、观察者、执行函数发布者Sender实现Flow.Publisherpackage design.mode.o

2020-11-25 15:45:39 591

原创 JAVA设计模式-观察者模式(PropertyChangeEven、PropertyChangeListener实现)

因为Observable类在jdk1.9后已被标记为启用状态,推荐使用PropertyEvent等方式替代。所以以下代码是PropertyChangeEven、PropertyChangeListener 实现的观察者模式。1,创建一个很简单的主类public class PropertyMain { public static void main(String[] args) { PropertyProvider propertyPublishService = new Pr

2020-10-26 14:00:18 592 1

原创 JAVA设计模式-观察者模式(Observer、Observable实现)

1,首先设置一个主题类(即被观察者),继承自Observable类,代码如下@Slf4jpublic class SubjectDemo extends Observable { String message ; public void setMessage(String s){ this.message = s; log.info("set message {}",this.message); setChanged();

2020-10-26 11:02:50 199

原创 Mysql根据生日birthday计算年龄age

核心函数TIMESTAMPDIFFTIMESTAMPDIFF( YEAR, rel.birthday, CURDATE()) AS age完整sql如下SELECT mem.user_id, rel.`name`, rel.actual_name, rel.birthday, TIMESTAMPDIFF( YEAR, rel.birthday, CURDATE()) AS age FROM t_membership mem LEFT JOIN t_related_

2020-10-13 19:29:50 1555

原创 JAVA << 和 >>位运算

log.info("op accept is {} ",opAccept); log.info("op 1<<3 is {} ",1<<3); log.info("op 1<<2 is {} ",1<<2); log.info("op 1<<1 is {} ",1<<1); log.info("op 1<<0 is {} ",1<<0); ..

2020-10-12 17:12:25 107

原创 JAVA IO中的ByteBuffer, FileChannel

package com.yaeher.community.test.nio;import lombok.extern.slf4j.Slf4j;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.CharBuffer;import java

2020-10-12 15:19:32 180

原创 java stream 流式写法过滤条件

public class Java8Test { public static void main(String[] args) { Person p1 = new Person("麻子", 31); Person p2 = new Person("李四", 20); Person p3 = new Person("王五", 26); List<Person> personList = new ArrayList

2020-07-28 14:27:05 2008

原创 Error occurred during initialization of boot layer,java.lang.module.FindException: Module java.instr

**Error occurred during initialization of boot layer java.lang.module.FindException: Module java.instrument not found**启动项目时遇到了这个问题,Application不能启动,但是gradle 没有问题,怀疑是启动参数配置错了,尝试调整了一下,果然解决了。解决方案如下:打开Edit->Application界面,选择JRE,选择Default...

2020-07-20 19:21:10 5373 1

原创 多态成员访问的特点

Parent p = new Child();多态成员访问的特点成员变量编译看左边(基类),运行看左边(基类);无论如何都是访问基类的成员变量。成员方法编译看左边(基类),运行看右边(派生类),动态绑定。Static方法编译看左边(基类),运行看左边(基类)。只有非静态的成员方法,编译看左边,运行看右边。这样,我们也可以得出多态的局限:不能使用派生类特有的成员属性和派生类特有的成员方法。代码举例:创建父类Animal类public class Animal { int

2020-07-16 17:03:26 821

原创 MySql字段添加随机时间

update t_question set create_time=date_add(create_time, interval (SELECT FLOOR(RAND()*100+7)) minute ) where id<380;示例为添加随机分钟 minute;date_add() 增加date_sub()减少month 月份minute 分钟second 秒

2020-05-21 10:11:01 961

转载 MySQL重置自增ID的值

alter table users AUTO_INCREMENT=10000;转自:https://www.jb51.net/article/42883.htm

2020-03-02 18:27:12 1347

原创 getSystemProperty("line.separator")的作用

最近项目中在用阿里巴巴的canal,看到代码里有一句是这样写的。public static final String LINE_SEPARATOR = getSystemProperty("line.separator");打印出来的效果就是,换行符。那么为什么要这样写呢?原因是想要使用系统的换行符号,避免操作系统不同带来的不同后果。...

2020-03-02 15:39:16 421

原创 操作无法完成,因为文件已在另一个程序中打开

1)打开任务管理器选择性能,选择打开资源监视器2)打开资源监视器搜索关联的句柄,将搜索结果结束任务,即可。

2020-02-26 17:47:42 3167

原创 自动创建ES的index

PUT /_cluster/settings{ "persistent" : { "action": { "auto_create_index": "true" } }}

2020-02-26 16:47:50 4943 1

原创 ElasticSearch设置自定义_id

在请求的URL上附加上想要设置的_id的值POST /yaeher-article/_doc/sergivandebunorwichpublishid{ "author":"Sergi·Van·Debunorwich", "authorFullName":"谢尔盖·范·德彪诺维奇", "authorOpenId":"wodeopenid", "category":"一级", "con...

2020-02-26 16:46:20 4195

原创 mysql查看配置文件的优先级

mysql --help|grep ‘my.cnf’

2020-02-21 15:43:08 340

原创 idea配置maven解决"Dependency 'xxxx‘ not found"

1)官网下载maven 地址:http://maven.apache.org/download.cgi2)在本地解压缩。配置环境变量。环境变量MAVEN_HOME配置path3) 设置maven 配置文件,设置alibaba仓库,避免依赖下载时报错。打开maven安装路径下的conf文件夹下面的,settings.xml文件。一,设置本地仓库地址localRepository...

2020-02-19 18:03:12 1487

原创 Mockito之@Mock和@InjectMocks的不同,搬运自Stack Overflow

这里举一个简单的例子来展示@Mock 和 @InjectMocks的不同有game 和 player 两个类class Game { private Player player; public Game(Player player) { this.player = player; } public String attack() { ...

2019-12-11 14:51:21 678

空空如也

空空如也

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

TA关注的人

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