自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lililuni的博客

不积跬步,无以至千里

  • 博客(106)
  • 资源 (2)
  • 收藏
  • 关注

原创 身为程序员的我和搞自媒体的朋友,在做匿名信项目上的区别

大家好,我是刘卡卡,一名大厂奶爸程序员,持续探索副业中。 7月初的时候,在朋友圈和星球都分享了这个匿名信项目,然后今天就有生财圈友在分享自己做这个项目的收益了。一对比下来,真的学到很多

2023-08-01 08:58:15 506

原创 Go批量接口编写示例

【代码】Go批量接口编写示例。

2023-02-02 16:47:18 179 1

原创 【MySQL 原理篇】- 凭这个,我拿下字节面试

这是我在今年上半年跳槽时准备的八股文资料中的 MySQL篇,分享给大家

2022-12-08 15:38:48 395

原创 面试八股文-redis

所以,和基本的 Socket 通信相比,使用 IO 多路复用机制,就可以一次性获得就绪的多个套接字,从而避免了逐个检测套接字的开销。这三种机制在能监听的描述符数量和查找就绪描述符的方法上是不一样的,你可以重点参考下图,来掌握它们的不同之处。如果数据库中的对应数据改变的之后,同步改变缓存中相应的数据。从高并发上来说:直接操作缓存能够承受的请求是远远大于直接访问数据库的,所以我们可以考虑把数据库中的部分数据转移到缓存中去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。

2022-09-16 11:23:30 302

原创 技术书籍分享

获取下载链接方式: 微信 关注 是刘卡卡阿。即可

2022-04-24 14:46:26 209

原创 一图13行代码,带你串通JVM

《深入理解Java虚拟机》确实是一本神书,但却不太适合入门,太过专业,细节很多,读者很容易就陷入到细节中去,结果看完后,感觉懂了一些,却有感觉串不起来,因此,笔者试着用一张图和13行代码来串下

2022-01-22 22:10:53 624

原创 并发|01|什么是并发编程问题?

源头之一:缓存导致的可见性问题可见性指的是当一个线程修改了某个共享变量的值,其他线程是否能够马上得知这个修改的值首先看下在底层的缓存可见性问题CPU缓存与内存的关系图1在单核上,所有线程运行在同一个CPU上,CPU 缓存与内存的数据一致性容易解决。因为所有线程都是操作同一个 CPU 的缓存,一个线程对缓存的写,对另外一个线程来说一定是可见的。多核时代,每颗 CPU 都有自己的缓存,这时 CPU 缓存与内存的数据一致性就没那么容易解决了,当多个线程在不同的 CPU 上执行时

2022-01-22 10:26:34 2035

原创 基础|01|CPU缓存知识(待完善0.3)

(写在前面,本文还没写完,争取在2022.2.1前写完,觉得可以的话,可以先关注噢)概览由于各存储结构的速度不同,容量和价格上也不同,因此1、对于单个CPU产生了缓存架构既然有了缓存,那么在多核中,怎么解决高速缓存一致性?2、缓存一致性MESI协议 确保了缓存一致性,该类型协议保证了多CPU的缓存之间同步但该协议存在一些性能上的问题,因此,便有了Store buffer 机制,但Store buffer并不能保证变量写入缓存和主存的顺序 。3、便有了内存屏障,该技术规定了一些

2022-01-22 10:24:10 829

原创 《网络是怎么连接的》-流程图

意外看到这本书,真的是写的非常清晰,完成;感觉大学要是按照这种方式教的话,会清晰许多;而不是一上来就落入各种细节性东西中-下面是本人做的详细流程图

2021-09-11 12:37:42 370 2

原创 RedisException: ERR SELECT is not allowed in cluster mode

问题原因:在redis机器上配置了集群,集群下,database只能等于0

2021-05-31 17:02:19 3806

原创 PowerDesigner 反向生成 pdm 相关操作

1. 连接远程数据源https://app.yinxiang.com/fx/857875fd-e209-4a61-827a-914c52ae6d2d若是报找不到 mysql 连接包将 mysql.jar 驱动包 复制到 powerDesigner 的安装根目录下;关闭powerDesigner 重新打开即可;2. 反向生成PDMhttps://app.yinxiang.com/fx/7963ad68-3702-4373-a51e-1b626ea871ba2.1 显示comme

2020-07-28 15:14:59 336 2

原创 【JVM】基于BTrace的监控调试

BTrace 可以在不停止目标程序的前提下,通过 HotSwap 技术动态向目标应用程序的字节码加入追踪代码,从而达到调试目的。。1. Btrace 安装与运行访问 https://github.com/btraceio/btrace/releases/tag/v1.3.11.3 下载需要的版本,我下载的是1解压并配置环境变量 BTRACE_HOME,Path23运行Btrace...

2019-06-19 12:05:02 254

原创 【JVM】Jmap与MAT分析内存溢出

文章目录一. 内存溢出模拟以及导出内存映像文件1.1 自动导出内存映像文件1.2 jmap -dump 导出内存映像文件1.3. jmap -heap 命令显示堆信息二. MAT 分析内存映像文件一. 内存溢出模拟以及导出内存映像文件文末贴详细代码,这里给出部分代码:@RestController@RequestMapping("memory")public class Memory...

2019-06-17 16:45:44 1146

原创 Eclpise 中使用Lombok时出现的 属性翻倍的问题

在项目开发中,出现过很奇怪的现象,明明后台只有3个属性,返回前台时却变成6个属性了,最后面发现是用 Lombok 的 @Data 注解出现的问题,请看示例;注意下面的属性名第二个字母就大写了,使用lombok 时自动生成的set 方法是这样的,也就是首字母肯定大写利用Eclpise 的 source 快捷键生成的 set 方法是这样的可以看出两者是不一样的,可能在处理这个对象...

2019-04-25 15:04:52 275

原创 后端接收JsonObject 并 转换为实体类对象,以及复杂对象存入数据库的解决思路

1. 问题描述之前在SpringBoot中,Controller 层一直用实体类去接收Json字符串,这样的好处就是只要实体类的结构与Json的结构一一对应,就可以很方便的接收,不用再进行转换处理。但是有时候采用这种方式接收的实体类不方便存入数据库,比如说下面这个实体类,含有List和 Map ,存入数据库中很不方便:实体类: LongtermDispatchPlanConParamDTO...

2019-03-26 17:50:08 13060

原创 Json书写格式:List,Map,数组等

Object对象:public class ListJson { private String first; private String second;}public class JsonListMap { private String userName ; private List<ListJson> testList; private Ma...

2019-03-25 19:45:03 33721

原创 Spring AOP基本语法

1. Spring AOP 基本使用在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能。所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务所谓的周边功能,比如性能统计,日志,事务管理等等。周边功能在Spring的面向切面编程AOP思想里,即被定义为切面。在面向切面编程AOP的思想里面,核心业务功能和切面功能分别独立进行开发然后把切面功能和核心业务功能 “编织” 在一起,这就叫AO...

2019-03-25 12:06:04 320

原创 oracle 组合索引和单列索引实践

http://note.youdao.com/noteshare?id=96ae67d24dd00cc18dcc33367bf7c21a

2019-03-22 14:22:15 2779

原创 Java并发(10)-JUC线程池 Executor框架

一. new Thread 的弊端常见的new Thread 方式new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub }}).start();这种方式的主要不方便就是:每次new Thread新建对象性能差...

2019-02-15 21:23:23 274

原创 Java并发(9)--JUC并发工具类:CountDownLatch、Semaphore、CyclicBarrier、Exchanger

文章目录一. CountDownLatch:等待多线程完成1.1 CountDownLatch使用示例1.2 CountDownLatch源码分析二. Semaphore:控制并发线程数三. CyclicBarrier:同步屏障四. Exchanger: 交换者本文介绍常用的 JUC 并发工具类,分别是CountDownLatch:等待多线程完成、Semaphore:控制并发线程数、Cy...

2019-02-14 14:26:53 538

原创 Java并发(8)--JUC之同步队列器AQS原理、重入锁ReentrantLock、读写锁ReentrantReadWriteLock

文章目录一. AQS 原理1.1 addWaiter()是如何保证多线程运行下入队操作的正确性?1.2 enq(Node) 的CAS自旋volatile变量1.3 acquire(int)方法总结1.4 release(int) 方法总结1.5 AQS应用注意点二. 重入锁 ReentrantLock2.1 互斥锁 Mutex2.2 ReentrantLock 重进入的源码分析(非公平性)...

2019-02-14 14:24:54 343

原创 Java并发(7)--并发容器 J.U.C:Java.util.concurrency

一 :ArrayList、HashSet、HashMap等的并发容器以下部分内容引自慕课网实战·高并发探索(九):并发容器 J.U.C - 线程安全的集合与MapArrayList –&amp;amp;amp;gt; CopyOnWriteArrayList...

2019-01-21 10:13:14 209

原创 Java并发(6)--线程安全策略:不可变对象、ThreadLocal、常见的线程安全与线程不安全类、同步容器

为避免在并发环境下的线程不安全问题,可以将对象确保为不可变对象,或者也可以采用线程封闭技术。文章目录一. 不可变对象-线程安全二. 线程封闭实现线程安全1. 堆栈封闭:局部变量,无并发问题2. ThreadLocal三. 常见线程不安全类1. StringBuilder 与 StringBuffer2. ArrayList,HashSet,HashMap 等Collection类一. 不可变...

2019-01-18 21:34:41 608

原创 Java并发(5)--线程安全发布对象:懒汉模式、饿汉模式

前言:方法逃逸与线程逃逸逃逸分析的基本行为就是分析对象动态作用域:当一个对象在方法中被定义后,它可能被外部方法所引用,例如作为调用参数传递到其他方法中去,称为方法逃逸。甚至可能被外部线程访问到,比如赋值给类变量或可以在其他线程中访问到的实例变量,称为线程逃逸。如果能证明一个对象不会逃移到方法外或者线程之外,也就是别的方法或线程无法通过任何途径访问到这个对象,则可能为这个变量进行一些高效的...

2019-01-17 22:07:10 575

原创 Java并发(4)--线程安全:原子性(Atomic)、可见性、有序性

1. 有序性

2019-01-17 19:33:38 959

原创 Java并发(3)--项目准备:环境初始化、案例准备、并发模拟工具、并发模拟代码

一 环境初始化现在码云上建立新仓库 Concurrency ,我的Concurrency通过 https://start.spring.io/ 新建 spring boot 项目 concurrency在本地Git仓库把 码云项目拉下来 git clone https://gitee.com/libinliu/Concurrency.git将 步骤2中的项目信息复制到 本地仓库中1...

2019-01-08 21:06:38 371

原创 Java并发(2)--并发基本:线程安全、锁优化

文章目录一、线程安全1. Java中的线程安全2. 线程安全的实现方法1 互斥同步2 synchronized 关键字3 非阻塞同步一、线程安全线程安全概念线程安全”定义:“当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的”。线程安全的...

2019-01-07 21:28:54 208

原创 Java并发(1)--并发基本:CPU缓存、Java内存模型、Java线程

2. 并发基本并发:多个线程操作相同的资源,保证线程安全,合理使用资源高并发:服务能同时处理很多请求,提高程序性能CPU多级缓存CPU多级缓存与缓存一致性CPU的频率越来远快,相对内存快了一个数量级,对于访存的操作CPU就需要等待主存,这样会导致资源的白白浪费,因此引入了缓存机制。cache 的工作原理是基于“局部性”原理,它包含以下两个方面:1. 时间局部性:如果某个数据被访...

2019-01-05 12:32:00 355

原创 利用Path类和Files 读取文件内容并存入数组

直接上代码,个人觉得比经典的File方便多了,其中,Path类和 Files类都来自于java.nio.filepublic Double[][] readFile(String file,String paths) throws IOException{ //paths 为文件路径(不包括文件) file 为文件名+后缀 //paths: Path path = Paths....

2019-01-02 16:52:51 346

原创 Putty程序命令行

bat脚本:前提是pscp.exe和 putty.exe都在cmd.exe的同级目录@title 上传文件和重启服务@echo offrem 从windows下复制文件到Linuxpscp -pw hust H:\eclpise-work\data\target\data-0.0.3-SNAPSHOT.jar hust@主机ip:/home/hust/jars/datarem 通过put...

2018-12-19 11:35:26 5688 1

原创 Shell学习 待完善

Hello Worldcd C:\Program Files\Git\bin

2018-12-18 19:34:42 153

原创 Spring Boot 整合websocket 详细代码

&amp;lt;div class=&quot;article-copyright&quot;&amp;gt; 版权声明:powered by 大狼狗郑锴/Moshow魔手 https://blog.csdn.net/moshowgame/article/details/80275084 &amp;lt;/div&amp;gt; &amp;lt;div id=&quo

2018-12-18 19:33:18 281

原创 Linux 环境下调用C++库ocilib操作Oracle数据 -详细介绍

Instant Client Downloads for Linux x86-64 (64-bit)Linux下软件安装详解(rpm包、deb包、zip包等),打开服务器浏览器联网Ubuntu系统中安装RPM格式包的方法配置 oracle环境变量:sudo vi /etc/profile 在profile 添加 下面三行source /etc/path 更...

2018-12-16 18:56:11 1237

原创 计算机网络(8)-数据链路层

1:数据链路层服务相关术语数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的相邻结点传送数据报。结点(node):主机和路由器链路(links):连接相邻结点的通信通道,主要包括有线链路、无线链路、局域网(LANS)链路层(第2层)数据分组:帧(frame),封装网络层数据报提供的相关服务1链路层在何处实现链路层在“适配器” (即网络接口卡-NIC)中...

2018-12-04 17:38:39 439

原创 Bat脚本:解压zip文件、运行jar包

Bat脚本的编辑步骤:新建txt文件,并编辑内容,然后将文件后缀名改为bat1 . 运行jar包新建 txt文件2.

2018-12-03 21:23:59 13835

原创 计算机网络(7)-网络层:路由选择

路由选择的工作是:确定从发送方到接收方通过路由器网络的好路径(等价为路由)

2018-12-03 16:13:12 3729 1

原创 Jpa写入数据过慢-批量插入

1. 问题背景一开始写的插入到数据库的语句是一条条的插入,如下面所示 @PostMapping("/addList") public void addListModelParams(@RequestBody List&lt;SimModelParamsEntity&gt; list) { if (list.size() == 0) { throw new Runti...

2018-12-01 11:28:33 21898 15

原创 计算机网络(6)-网络层:IP协议

1: 网络层功能和服务网络层实现从发送主机向接收主机传送数据段(segment)的服务,其中,发送主机负责将数据段封装到数据报(datagram)中,接收主机负责向传输层交付数据段(segment)。每个主机和路由器都运行网络层协议(路由器不运行之前的应用层协议和传输层协议)。1. 网络层功能转发和路由选择转发 (forwarding): 将分组从单一路由器的输入端口转移到合适的输出...

2018-11-30 21:30:25 572

原创 Error creating bean with name 'hystrixCommandAspect'

解决方案:在pom文件中添加下面依赖 &lt;dependency&gt; &lt;groupId&gt;org.aspectj&lt;/groupId&gt; &lt;artifactId&gt;aspectjrt&lt;/artifactId&gt; &lt;version&gt;1.7.1&lt;/ver...

2018-11-28 21:49:23 376

原创 NoClassDefFoundError: com/netflix/hystrix/contrib/javanica/aop/aspectj/HystrixCommandAspect

在配置API网关zuul时,报出了上面的错误,我的解决办法是:删除本地maven 仓库中的这个文件夹2. 在Eclpise中强制 maven update ,问题解决

2018-11-28 21:47:38 1474

Redis.xmind

Redis学习思维导图,主要包括基本数据结构、过期策略与内存淘汰策略、单线程机制

2019-08-13

Git操作详细介绍

总结常用的Git操作及命令 主要包括: 文件的修改、回退、删除等 远程仓库的相关操作 分支管理 标签管理

2018-10-25

空空如也

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

TA关注的人

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