自定义博客皮肤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的博客

不积跬步,无以至千里

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

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

2019-06-19 12:05:02 92 0

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

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

2019-06-17 16:45:44 570 0

原创 SpringBoot 单例Bean中实例变量线程安全研究

文章目录一.单例模式有全局变量存在的问题二.采用原型模式实现多例三.采用ThreadLocal 将变量绑定在线程上  成员变量、全局变量、实例变量、类变量、静态变量和局部变量的区别   Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在...

2019-06-16 10:08:04 1295 0

原创 RabbitMQ-构建简单的生产者和消费者

确保 RabbitMQ 服务已开启,管控台能正常登陆 基于Docker安装RabbitMQ以及 RabbitMQ的初步使用 新建 SpringBoot 项目并引入 mq依赖 <!-- rabbitmq 依赖--> <dependency> <groupI...

2019-05-06 18:14:10 110 0

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

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

2019-04-25 15:04:52 132 0

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

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

2019-03-26 17:50:08 4068 0

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

Object对象: public class ListJson { private String first; private String second; } public class JsonListMap { private String userNa...

2019-03-25 19:45:03 9459 0

原创 Spring AOP基本语法

1. Spring AOP 基本使用 在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能。所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务所谓的周边功能,比如性能统计,日志,事务管理等等。周边功能在Spring的面向切面编程AOP思想里,即被定义为切面。在面向切面编程AOP的思...

2019-03-25 12:06:04 57 0

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

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

2019-03-22 14:22:15 1220 0

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

一. new Thread 的弊端 常见的new Thread 方式 new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method s...

2019-02-15 21:23:23 94 0

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

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

2019-02-14 14:26:53 157 0

原创 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应用注意点二. 重入锁 Reentran...

2019-02-14 14:24:54 147 0

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

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

2019-01-21 10:13:14 80 0

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

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

2019-01-18 21:34:41 286 0

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

前言:方法逃逸与线程逃逸 逃逸分析的基本行为就是分析对象动态作用域: 当一个对象在方法中被定义后,它可能被外部方法所引用,例如作为调用参数传递到其他方法中去,称为方法逃逸。甚至可能被外部线程访问到,比如赋值给类变量或可以在其他线程中访问到的实例变量,称为线程逃逸。 如果能证明一个对象...

2019-01-17 22:07:10 81 0

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

1. 有序性

2019-01-17 19:33:38 128 0

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

一 环境初始化 现在码云上建立新仓库 Concurrency ,我的Concurrency 通过 https://start.spring.io/ 新建 spring boot 项目 concurrency 在本地Git仓库把 码云项目拉下来 git clone https://gite...

2019-01-08 21:06:38 92 0

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

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

2019-01-07 21:28:54 92 0

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

2. 并发基本 并发:多个线程操作相同的资源,保证线程安全,合理使用资源 高并发:服务能同时处理很多请求,提高程序性能 CPU多级缓存 CPU多级缓存与缓存一致性 CPU的频率越来远快,相对内存快了一个数量级,对于访存的操作CPU就需要等待主存,这样会导致资源的白白浪费,因此...

2019-01-05 12:32:00 134 0

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

直接上代码,个人觉得比经典的File方便多了,其中,Path类和 Files类都来自于java.nio.file public Double[][] readFile(String file,String paths) throws IOException{ //paths 为文件路径(...

2019-01-02 16:52:51 74 0

原创 Putty程序命令行

bat脚本:前提是pscp.exe和 putty.exe都在cmd.exe的同级目录 @title 上传文件和重启服务 @echo off rem 从windows下复制文件到Linux pscp -pw hust H:\eclpise-work\data\target\data-0.0.3-SN...

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

原创 Shell学习 待完善

Hello World cd C:\Program Files\Git\bin

2018-12-18 19:34:42 67 0

原创 Spring Boot 整合websocket 详细代码

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

2018-12-18 19:33:18 112 0

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

Instant Client Downloads for Linux x86-64 (64-bit) Linux下软件安装详解(rpm包、deb包、zip包等) ,打开服务器浏览器联网 Ubuntu系统中安装RPM格式包的方法 配置 oracle环境...

2018-12-16 18:56:11 362 0

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

1:数据链路层服务 相关术语 数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的相邻结点传送数据报。 结点(node):主机和路由器 链路(links):连接相邻结点的通信通道,主要包括有线链路、无线链路、局域网(LANS) 链路层(第2层)数据分组:帧(fram...

2018-12-04 17:38:39 155 0

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

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

2018-12-03 21:23:59 4340 0

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

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

2018-12-03 16:13:12 865 0

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

1. 问题背景 一开始写的插入到数据库的语句是一条条的插入,如下面所示 @PostMapping("/addList") public void addListModelParams(@RequestBody List&lt;SimModelParamsEn...

2018-12-01 11:28:33 12273 13

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

1: 网络层功能和服务 网络层实现从发送主机向接收主机传送数据段(segment)的服务,其中,发送主机负责将数据段封装到数据报(datagram)中,接收主机负责向传输层交付数据段(segment)。每个主机和路由器都运行网络层协议(路由器不运行之前的应用层协议和传输层协议)。 1. 网络...

2018-11-30 21:30:25 160 0

原创 Error creating bean with name 'hystrixCommandAspect'

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

2018-11-28 21:49:23 233 0

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

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

2018-11-28 21:47:38 563 0

原创 Linux 更新端口号进程

1 背景 连不上运程服务器的桌面,不可以直接在进程的命令窗口 ctrl+c结束进程,因此百度了下面的方法 2 更新过程 使用 putty 打开一个新的服务器的终端窗口 使用 lsof -i:8080 命令查看需要更新的进程的端口号信息,得下图 sudo kill 9 8080...

2018-11-27 15:44:54 141 0

原创 Linux下 利用Jna调用c程序/so库的相关问题

1. 生成so库 在利用 cpp或者c 文件生成 so库时,切记将接口调用的方法 前加上 extern &quot;C&quot;,(如果是dll库的话,这里应为:extern &quot;C&quot; __declspec(dllexport))如下图 ...

2018-11-26 17:42:22 358 0

原创 Linux 下安装JDK1.8步骤以及常见问题

安装步骤 Linux 下安装JDK1.8 注意: java的环境变量配置推荐绝对路径的方式 source /etc/profile 会立即更新环境配置,但是最好重新启动下, 图形化界面换下载源 Ubuntu图形化界面换源,无需修改config文件 备注:建议阿里云 在vi/vim中...

2018-11-26 11:52:14 46 0

原创 计算机网络(5)-传输层--TCP传输:可靠数据传输、流量控制、连接管理、拥塞控制

1. TCP传输 TCP连接提供的服务是全双工服务,同一连接能够双向传输数据,同时,也是点对点的连接(仅有一个发送方和一个接收方)。 1 1. TCP 报文段结构 TCP报文段由首部字段和数据字段组成。 首部字段 源端口号和目的端口号:用于多路分用和多路复用 因特网检验和:差...

2018-11-25 10:50:58 272 0

原创 Jni问题总结

在java web项目中调用c++程序简单案例 1 javah命令 看到1.2 出现问题 注意路径问题!Javah提示未找到 …的类文件 javah命令: H:\eclpise-work\flowd\src\main\java&amp;amp;gt;javah -classpat...

2018-11-24 10:44:16 93 0

原创 关于报错"ORA-01747: user.table.column, table.column 或列说明无效"的解决办法

select * from v$reserved_words where keyword in( select COLUMN_NAME from all_tab_columns where table_name = ‘表名大写’ and owner=‘用户名大写’ );

2018-11-24 10:41:19 758 0

原创 Jar包访问外部配置文件问题

1. 问题背景 jar包 和 需要读取的文件夹放在同级目录下 在jar包运行时需要访问DAT里的flowd.dll文件 2. 解决办法 String pathdll = System.getProperty("user.dir")+"\\DAT\\flowd.dll...

2018-11-24 10:26:45 310 0

原创 计算机网络(4)-传输层:多路复用与分用、UDP、可靠数据的传输原理、滑动窗口协议

1. 概述和传输层服务 传输层协议为运行在不同主机上的进程提供了一种逻辑通信机制 2 传输层与网络层的区别 网络层提供主机之间的逻辑通信机制,传输层提供应用进程之间的逻辑通信机制。 3 Internet 传输层协议 可靠、按序的交付服务(TCP):拥塞控制、流量控制、连接建立 ...

2018-11-15 10:04:29 824 0

原创 计算机网络(3)-应用层

1. 网络应用的体系结构

2018-11-13 20:06:37 256 0

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