自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 dubbo-admin控制中心搭建

本次搭建的的控制中心是采用新版的,springboot+vue前后端分离的方式搭建(2019年初,官方发布了Dubbo管理控制台0.1版本,采用了前后端分离的方式)参考了以下文章https://blog.csdn.net/sophia_0331/article/details/107916945官网地址:https://github.com/apache/dubbo-admin进入https://github.com/apache/dubbo-admin,先下载zip包不同的是,在服务器

2021-01-22 15:14:27 192

原创 java并发编程(一)

并发编程:希望通过多线程执行任务让程序运行得更快,但会带来上下文切换问题和死锁问题(上下文切换:指CPU从一个进程或线程切换到另一个进程或线程)并发程序要想正确地执行,必须要保证原子性、可见性以及有序性原子性:一个操作或者多个操作 要么全部执行,要么就都不执行可见性:当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。有序性:保证程序执行的顺序按照代码的先后顺序执行(处理器为了提高程序运行效率,可能会对输入代码进行优化,不保证程序中各个语句的执行先后顺..

2020-09-23 17:46:45 128

原创 zookeeper介绍(一)

zookeeper介绍 zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。本文将从使用者角度详细介绍 Zookeeper 的安装和配置文件中各个配置项的意义,以及分析 Zookeeper 的典型的应用场景(配置文件的管理、集群管理、同步锁、Leader 选举、队列管理等)。zookeeper的安装分为三种模式:单机模式、集群模式和伪集群模式..

2020-09-22 17:04:06 172

原创 Stream流的使用

本文简单记述Stream的使用第一种、最常用的,从数据库查出数据后,需要封装成vo类,把需要的字段返回给前端 List<Order> orderList=orderService.list(); List<OrderVo> list = orderList.stream().map(order -> { OrderVo orderVo = new OrderVo(); BeanUtils.copyProperties(order, order

2020-09-22 09:36:44 421

原创 java 如何查看源码

第一种如果只是想看某个方法的实现,可以在该方法打个断点,通过debug, 一步步step into即可第二种想了解某个类,下面以hashmap为例一 首先了解继承关系,通过idea 的 show diagram,获取继承关系图,比如hashmap的继承关系图绿色虚线代表实现,蓝色实线代表继承或者通过dea的Hierarchy二 了解类中的各个属性三 了解类中的方法,可以同过idea 的idea structure窗口c代表类,m代表方法 ,挑选核心方法阅读.

2020-09-10 11:03:08 829

原创 Java 判断对象的所有属性是否为空

通过反射判断对象的所有属性是否为空 public static boolean isAllFieldNull(Object o) { try { for (Field field : o.getClass().getDeclaredFields()) { //把私有属性公有化 field.setAccessible(true); Object object =

2020-09-03 11:45:11 2793

原创 Hutool 的HttpUtil工具类和json解析

Hutool是一个小而全的Java工具类库官方地址:https://www.hutool.cn/docs/#/本文主要简单介绍Hutool的Http客户端工具类-HttpUtil和Hutool-json的使用1、添加依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.

2020-09-02 17:13:44 7412

原创 java开发中常用的linux命令

ls: 列出目前工作目录所含之文件及子目录ls -a 列出目录所有文件,包含以.开始的隐藏文件ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来cd:切换目录, cd ~pwd:查看当前工作目录路径tail:用于查看指定文件末尾内容 , 例如 tail -20 a.txt (查看a.txt 最后 20行内容)chmod:用于修改文件...

2020-06-10 17:46:02 288

原创 线程安全List CopyOnWriteArrayList

为了解决ArrayList线程安全问题,可以使用synchronizedList和CopyOnWriteArrayList ArrayList<String> list = new ArrayList<>(); List<String> sycList = Collections.synchronizedList(list); CopyOnWriteArrayList<String> list = new CopyOnWriteArr

2020-06-02 18:09:36 388

原创 ArrayList 分析

继承体系ArrayList实现了List, RandomAccess, Cloneable, java.io.Serializable等接口。ArrayList实现了List,提供了基础的添加、删除、遍历等操作。ArrayList实现了RandomAccess,提供了随机访问的能力。ArrayList实现了Cloneable,可以被克隆。ArrayList实现了Serializable,可以被序列化。源码解析属性public class ArrayList<E&g

2020-06-02 16:31:41 136

原创 idea 工作中常用快捷键

Ctrl + F 当前文件进行文本查找Ctrl + Shift + F 查找整个项目的文件Ctrl + B 进入光标所在的方法/变量的接口 等效于Ctrl + 左键单击Ctrl + Alt + B 跳到具体的实现处,可以跳过接口Alt+F7 光标放到指定的类或方法上,查看方法或者类被引用过Ctrl + H 显示当前类的层次结构Ctrl + E ...

2020-06-02 12:05:37 212

原创 java集合框架图

简化图:说明:对于以上的框架图有如下几点说明1、所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2、集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。3、抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。4、实现类:8个实现类(实线表示),对接口的具体实现。5、Collect..

2020-06-01 22:59:15 281

原创 工作推荐工具

everything文件搜索软件,搜索速度非常快,用好高级搜索这个功能,查找文件真的非常快下载地址:https://www.voidtools.com/zh-cn/mobaxterm一款很强大的终端工具Charles抓包工具JVisualVM能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈后续接更...

2020-05-27 12:14:13 165

原创 Maven Idea查看解决jar包冲突

1.选择Maven Project2.选中Dependencies3.点击Show Dependencies在项目依赖图中,有一些红色标记的线,实际上,这些红色标记出来的线所指向的 jar 包,就是项目中冲突的 jar 包!且在我们点击 jar 包之后,还会显示出多条指向 jar 包的红色虚线,其代表着该 jar 包被多次引用,及具体引用路径。想要排除冲突的 jar 包,其方法为:点击冲突的 jar 包,右键呼出菜单栏,点击Exclude选项。...

2020-05-24 14:51:48 7096

原创 idea 插件

Statistic统计代码的行数File->settings->plugins,点击下方的browse repositories... 输入Statistic安装插件LombokLombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法Maven Helper查找和排除冲突依赖项.ignore忽略git不必提交TranslationPlugin中文翻译GrepConso.

2020-05-21 12:42:47 176

原创 idea 常见设置

1、project和structure显示在左侧file->settings在Appearance&Behavior在选择Appearance在右边window options下选择 show tool windows bars隐藏idea左边project栏的快捷键:Alt+1view->tool windows->structure 查看类的方法...

2020-05-03 22:02:29 412

原创 Netty

原生NIO存在的问题:1、NIO的类库和API繁琐,不易使用2、需要熟悉Java多线程编程3、工作量和难度大,例如:客户端中断重连、网络闪断、半包读写、网络拥塞和异常流的处理Netty优点:1、使用方便2、高性能、吞吐量更高;延迟低,减少资源消耗3、支持各种传输类型的数据线程模型:传统阻塞I/O服务模型Reactor(单Reactor单线程、单Reac...

2020-03-04 23:02:16 70

原创 npm ERR! A complete log of this run can be found in

vue在执行npm run install 时候报错,npm ERR! A complete log of this run can be found in1、清理缓存命令:npm cache clean --force2、重新安装一次即可:npm install /cnpm install如果还不行或者将项目中node_modules文件夹先删除,再执行1 2步骤...

2020-03-01 21:14:57 2147

原创 Java NIO

NIO: 同步非阻塞,面向缓冲区,基于通道的io操作。首先了解阻塞和非阻塞,同步和异步的概念阻塞和非阻塞(基于进程):阻塞:调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回非阻塞:指在不能立刻得到结果之前,该调用不会阻塞当前线程。同步和异步(基于应用程序):同步:主动请求并等待I/O操作完毕异步:主动请求数据后,便可以继续处理其它任务,随后等待I/...

2020-03-01 16:56:04 128

原创 JAVA BIO通信模式

Server客户端: 建立服务端监听socket,等待接收请求,通信之后,关闭socketClient客户端: 创建Socket对象,指明连接的服务器的地址和端口号,连接建立后,通过输出流向服务器端发送请求信息,关闭socketServer服务端代码:import java.io.InputStream;import java.io.OutputStream;im...

2020-02-29 23:59:26 168

转载 IO模型:BIO、NIO、AIO

三种网络编程模式/IO魔模式

2020-02-27 22:30:35 119

转载 深入理解Mysql索引底层数据结构与算法

...

2019-11-06 11:03:27 105

原创 Redux的store、action、connect、combineReducers简单使用案例

案例demo结构总截图todoReducer是通过combineReducers()函数从store包下的reducer拆分出来,独立负责管理todo模块的数据reducer.js:import {combineReducers} from 'redux';import {createStore} from 'redux'import TodoReducer from...

2019-09-30 14:08:16 414

原创 body与html有空白的间隙

在一次练习中,发现body与html有空白的间隙<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> #test{ h...

2019-09-19 09:27:56 4857 1

原创 React map中的onClick事件问题

最近在学React,发现 onClick={this.deleteItem(参数)} 无效<ul> { this.state.list.map((item,index) =>{ return <li key={index} onClick={this.deleteItem(index)}>{item}</li&...

2019-09-18 15:02:03 1527

原创 URLEncoder.encode方法编码,前后台中文乱码问题

第一种情况(不修改tomcat配置文件):后台通过对中文字符编码this.redirect("/login.jsp?isError=1&msg="+URLEncoder.encode("用户名或者密码错误"));前台通过 request.getParameter("msg") 方法调用,然后调用URLDecoder.decode解码,输出msg的内容到页面上,结果msg的...

2019-09-16 17:36:52 7736

原创 JFinal java.lang.NoClassDefFoundError: com/alibaba/druid/pool/DruidDataSource

在学习JFinal时,在使用JFinal2.2版本做demo(非maven项目)练习碰到该问题,把druid的版本号更换为druid-1.0.5即可。

2019-09-09 13:47:21 4031

原创 MySQL慢查询日志和 Explain命令

一、慢查询日志: 用来记录在MySQL中响应时间超过阀值的语句,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。long_query_time的默认值为10。Mysql数据库默认不开启慢查询日志。慢查询相关语句:查看慢查询日志是否开启 :show variables like 'slow_query_log'; (OFF 为关闭 ON为开启)...

2019-08-07 00:34:18 383

转载 Jedis常用方法API

   前段时间给大家介绍了如何在Linux环境下部署和操作redis,今天将为大家介绍如何在我们的Java代码中操作redis。接下来按部就班:一、首先,把 jedis-2.1.0.jar(jedis基础包)导入到 java项目里,下面给大家提供一个私人下载链接:  &nbsp...

2019-07-31 00:20:00 248

空空如也

空空如也

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

TA关注的人

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