自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

guo_xl的专栏

不积跬步无以至千里

  • 博客(63)
  • 问答 (1)
  • 收藏
  • 关注

原创 史上最不详细的Netty源码分析-Netty启动流程(继)

NIO基本类在开始之前,需要先对Java NIO的下面个类有所了解SeletorSelectableChannelSelectionKey可以看下JAVA NIO的基本类服务器启动注册流程接前面的服务器启动注册流程,public abstract class AbstractChannel extends DefaultAttributeMap implements Chann...

2019-01-28 19:13:33 331

原创 史上最不详细的Netty源码分析-Netty启动流程

首先要说明的是标题。没错!当然是为了博眼球,改成史上最详细的Netty源码分析是自取其辱。改成史上最不详细的Netty源码分析,万一说的不对也没人喷。话分两头,这个是我分析的初篇,我还是很认真和用心的写的。班门弄斧,如果有错误请指出。为什么要写Netty源码分析? 用《Netty权威指南》话说随着大数据,互联网和云计算的发展,传统的垂直架构将逐渐被分布式,弹性伸缩的新架构替代。系统只要...

2019-01-17 23:30:36 232

原创 jboss里如何将公共的jar从war里抽出来

工程结构-ear -web1.war -WEB-INF -lib -common.jar // 公共的jar包 -web2.war -WEB-INF -lib -common.jar // 公共的jar包有1个ear包里有2个war,war都含有共同的common.jar问题这样部署到 jboss里没问题。但由于项目需要hotfix–即而当遇到测试测出不能进行下去的bug时候,就需要将fix好的class文件手工替换,假设现在遇到的cla

2020-10-14 20:56:39 579

原创 C语言-摘录

长期都是写的java,想往底层学学,比如看下操作系统(linux0.11)。而操作系统的main.c用就是c语言写的,所以不学c语言完全看不懂。好在语言都是想通的,有java基础看c 比较容易。但还是由些特性不同,这篇就是杂七杂八的百度后的照抄了一些知识点c语言中条件编译相关的预编译指令包括 #define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif、defined。#define 定义一个预处理宏#undef .

2020-10-08 22:24:15 217

原创 C-指针

指针int i=1;int *p=&i;画出内存的图就是如下内存里是没有P,i的。p的值就是0x00f1, *p =*0X00f1 也就是取得 i的值为1转成汇编,就是lea rax,[rpb-0xc]获取[rpb-0xc]处的内存地址放到rax中然后放到[rbp-0x8]就是最上面的那个图。理解了这个后,很多指针的东西就能理解。指针加减由上面可知int *p 实际上就是一个内存里存了另个内存的地址p的话就是另个内存的地址的值,内存从0开始,如果是4g内存,就到4g

2020-10-08 22:00:11 203

原创 EAR工程在jboss(wildfly)里的结构以及class loading关系

EAR , WAR ,JAREAR , WAR ,JAR 实际上都可以看成是文件夹,只是里面的组成规则不一样而已WAR 工程结构 - META-INF - WEB-INF - classes - lib 放着各种各样的jar - jboss-web.xml (如果部署到tomcat下则不需要这个,这个可以覆盖 web.xml里的配置) - web.xml(一般配置servlet,servlet3.x后提供了插件形式,通过spi来发

2020-09-22 17:02:49 1327

原创 为什么HttpServletRequest能够autowired注入?为什么多请求不混乱?

问题的引入最近看代码里发现有将HttpServletRequest 直接通过@Autowired注入。我有点想不明白,注入的默认是单例,这样不会出问题吗?为了研究明白为什么,我写了个简单的demo研究了下。demo代码以下是springmvc里的一个controller注入了一个httpServletRequest。有个简单的get方法,将2个request里的header 同时打印出来,查看结果。@RestControllerpublic class SimpleController {

2020-08-14 18:25:07 7747 8

原创 virtualBox 网络总结

host only 方式virtual-box的管理-全局配置-网络 可以添加虚拟的网卡。相当于给物理主机加上网卡。NAT

2020-04-19 14:49:59 294

原创 LinkedList

接口里有Queue和DequeQueue 队列,先进先出Deque (double ended queue) 双端队列Queue { boolean add(E e); // 入队 boolean offer(E e); //入队,和add一样 E poll(); //出队 E peek(); //队首}队列经常和栈一起class Stack{ public E...

2020-03-07 23:20:59 113

原创 maven-官网总结

什么是Apache Maven 3.x?Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publ...

2020-01-16 15:51:36 250

git 命令操作

@charset "UTF-8";.fa-ul,.markdown-body .task-list-item,li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}.markdown-body{-ms-text-size-adjust:100%;-web...

2020-01-06 17:25:30 119

原创 springboot-@Enablexxx原理

为什么会写这篇?@EnableConfigurationProperties 看名字很容易被误解成为引入某个properties文件。但其实不是,这个是开启某种配置 ,真正的是 Enable 某个@ConfigurationProperties注解的类这篇从代码角度看下@EnableAutoConfiguration的流程。springboot里有许多的@Enablexxxx,比如...

2019-11-20 10:14:52 690

原创 持续集成 - springboot构建成docker镜像部署到云主机上

目标1. 建立一个很简单的springboot工程到https://start.spring.io/ 上建立一个 web 的工程.pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3...

2019-10-21 17:08:02 503

原创 git链接到github

通过ssh 连接到githubssh-keygen -t rsa -b 4096 -C "[email protected]"会在上面的目录里生成一对公私钥,打开id_rsa.pub,将里面的内容复制到github 的然后就可以通过 git clone [email protected]:xxxx的方式来clone代码了...

2019-10-17 17:17:26 140

原创 利用frp来建立内网穿透

为什么要内网穿透内网建立的服务想要让外网访问,或者内网部署的几台linux想要让外网来访问,怎么办?使用 frp安装frp免密登录在云主机上运行 ssh-keygen -t rsa会在~/.ssh/ 下面生成如下几个文件2. 运行下面命令 ssh-copy-id -p 6000 <内网主机用户名>@<云主机ip> 接下来需要输入 <内网主机...

2019-10-16 01:32:33 425

原创 centos虚拟内存添加与删除

问题由于买的云服务器里的内存只有1g,在添加软件的时候老是报内存不够,已经安装了redis, mysql,还想安装es,zk,activemq.free -m ( 以m为单位)内存所剩无几了,swap并没有,说明无swap,只能扩展swap.swap是什么内存不足的时候,采用硬盘来虚拟出内存cd /devtouch zerodd if=/dev/zero of=/tmp/s...

2019-10-10 11:38:47 905

原创 springboot搭建jsp解析工程记录

现在的工程很多都是前后端分离的工程,后端更多的微服务的角色。但还是有一些工程会使用jsp,thymeleaf 这样的作为页面展示。这篇记录了该类型的搭建主要结构如下:jsp放在webapp/WEB-INF/jsp里applicaion.properties主要是配置jsp的解析的路径spring.mvc.view.suffix=.jspspring.mvc.view.prefix...

2019-09-19 00:50:54 197

原创 linux 磁盘管理

磁盘管理问题的引出在一次docker pull 的过程中报了这个错误write /var/lib/docker/tmp/GetImageBlob011295272: no space left on device[root@localhost ~]# write /var/lib/docker/tmp/GetImageBlob011295272: no space很明显就是空间不足了。...

2019-09-13 23:15:56 453

原创 docker 杂记

docker run 命令执行的时候,需要传入参数,有时候不知道参数是什么。比如 activemqdocker run --name activemq -d -v /data/activemq:/data/activemq -v /data/activemq/conf:/opt/activemq/conf -v /data/activemq/log:/var/log -p 616...

2019-09-12 11:29:17 1325

原创 virtulbox安装centos7以及常用的软件

配置ip地址通过ip addr查看到所有的网卡地址,我的如下:注意红色的为网卡地址对应的在 /etc/sysconfig/network-scripts里就会有ifcfg-loifcfg-enp0s32个文件,如果没有的话,例如没有ifcfg-enp0s3,就需要建立一个,然后插入如下TYPE=EthernetDEVICE=enp0s3BOOTPROTO=staticBR...

2019-09-11 00:36:35 207

原创 Bean Validation-2.0

前提最近项目中用到了校验,原来的校验逻辑都是在代码java里写死的,这样的坏处是代码没法重用,例如需要对下面的name和email做不为空的校验public class User{ private String name; private String email; private int age;}旧的逻辑就是在某个校验类里去判断public class UserValid...

2019-08-17 23:50:10 411

原创 java-Annotation总结

java-annotationjava.lang.annotation.Annotation Annotation主类java.lang.annotation.Target 表明了annotation 可以放在哪些类型上,和ElementType进行配合使用java.lang.annotation.ElementType 指明Annotation可以放在哪些类型上如下/** Cl...

2019-08-06 14:56:21 130

原创 深入理解java虚拟机2-笔记

虚拟机栈和本地方法栈溢出一般本地方法栈很少溢出,虚拟机栈溢出比较常见代码1//VM args :-Xss128k 指定帧栈的容量 public void hello() { hello(); } public static void main(String[] args) { StackOverFlow stackOverFlow = new StackOverFl...

2019-06-09 23:11:52 207

原创 Java基础-class 类的基础方法

Class里的方法1. getClasses 和 getDeclaredClassesgetDeclaredClasses 获取到类里所有的的class ,interface 包括了private ,protected,default,public例子:定义一个Payment的基本类如下public class Payment { protected class Inner...

2019-06-03 17:55:09 3339 1

原创 从demo开始理解跨域

网上很的文章说跨域问题,但都是从理论上来说,我这篇从demo开始重现跨域Demo步骤起2个tomcat在第1个tomcat的webapp下建立文件夹app1,在app1里新建立一个index.jsp,内容如下&amp;amp;lt;script src=&amp;quot;https://code.jquery.com/jquery-3.1.0.js&amp;quot;&amp;amp;gt;&amp;amp;lt;/script&

2019-03-14 14:24:28 531

原创 mybatis的主键获取

mybatis的auto generation的配置里&lt;table tableName="RPTDEF" domainObjectName="RptDef"&gt; &lt;generatedKey column="RPTDEFKY" sqlStatement="Mysql" identity="true" /&gt; &lt;c

2019-02-28 18:47:23 996

原创 mysql官方文档记录-持续更新

官方文档安装我使用的是二进制的安装包,也就是mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz,下载地址是https://dev.mysql.com/downloads/mysql/安装步骤参看,我的步骤如下shell&amp;amp;amp;amp;gt; groupadd mysqlshell&amp;amp;amp;amp;gt; useradd -r -g mysql -s /bin/false ...

2019-02-02 18:28:24 595

原创 springboot集成 birt 来做一个稍微复杂的report

前言在SpringBoot 集成 Birt中,最后的例子只是比较简单的例子。这篇主要讲述如何去做一个稍微复杂点的report目标report要建立一个user report,数据展示分为2部分第一部分列出所有用用户,第二部分列出用户的详情,详情里包含了用户的不同的account类型,完成后的pdf如下图:数据结构后端获取到的数据是一个list&amp;amp;amp;lt;User&amp;amp;amp;gt;User的数...

2019-01-29 14:33:23 3282

原创 JAVA NIO的基本类

Netty虽然对JAVA NIO 进行了封装,要了解Netty的源码,还是有必要对JAVA的NIO进行了解。以下的类是比较重要的Selector理解为多个channel注册到一个selector,selector可以轮询这些channel,一个channel注册到SelectableChannel会返回一个注册凭证即(SelectionKey)。一个多路复用器会维护3种set,这些se...

2019-01-23 22:34:10 905

原创 Java基础-泛型

泛型的定义类或接口上定义泛型class Demo&lt;T&gt;{ public void show(T t){ }}interface Demo&lt;T&gt;{ public void show(T t)}方法上定义泛型class Demo{ public &lt;E&gt; void show(E e){ ...

2019-01-15 00:06:07 177

原创 SpringBoot 集成 Birt

需求BIRT 一般是可以通过单独部署一个Webviewer的工程来处理客户的report查看请求.但是有些需求可能是根据业务规则定制查询条件生成report,然后定期生成report放在数据库里,供客户查询或是report通过邮件发给客户。目标生成的report为PDF,存在硬盘上report可以接收参数report调用Javacode来获取数据集Sample - car re...

2019-01-08 15:57:11 4846 3

原创 Mybatis Generator-自动化生成代码步骤

官方参考文档HOW TO编写XML配置文件generatorConfig.xml&amp;amp;amp;amp;amp;amp;amp;amp;lt;?xml version=&amp;amp;amp;amp;amp;amp;amp;quot;1.0&amp;amp;amp;amp;amp;amp;amp;quot; encoding=&amp;amp;amp;amp;amp;amp;amp;quot;UTF-8&amp;amp;amp;amp;

2019-01-07 23:45:21 1018

原创 Netty的几种Decoder的说明

消息格式消息头 : 有几个字节来标识消息体的长度,为Length消息体消息总长=消息头长+消息体长(Length)+lengthAdjustmen针对这类的消息解析,可以使用netty提供的工具类LengthFieldBasedFrameDecoder来做,具体是通过组合以下的几个字段来完成不同的情况的消息解析lengthFieldOffset 标识消息体长度的字节集合 在...

2019-01-06 16:16:16 6009 1

原创 Quartz源码分析-线程调度

目的在前面的例子中,需求是在分布式的集群环境中:其中只能其中1台机器获取到锁,而其他的机器不能获取到。但机器挂掉后,其他机器要能接管这个在最开始考虑的调度功能的时候,就有涉及到这个功能,当时想自己用数据库实现分布式锁。后来发现 Quartz已经实现了,本着知其然知其所以然,研究下Quartz是如何实现的。Quartz的线程模型ThreadExecutor 调度线程ThreadP...

2018-12-21 17:15:52 3201

原创 springboot-Quartz 集成源码分析和demo

springboot-Quartz 集成源码跟踪在pom.xml里加入&amp;amp;amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;lt;groupId&amp;amp;amp;amp;amp;amp;gt;org.springframework.boot&amp;amp;amp;amp;amp;amp;lt;/groupId&

2018-12-18 16:29:46 2141 1

原创 LinkedBlockingQueue 源码分析

LinkedBlockingQueue的结构如下,本质上是个单链表node(head)-&amp;gt;node-&amp;gt;node-&amp;gt;node(last)static class Node&amp;lt;E&amp;gt; { E item; Node&amp;lt;E&amp;gt; next; Node(E x) { item = x; } }

2018-12-10 16:42:24 343

原创 实际应用-简单工厂到工厂方法到Annotation

1.刚开始的版本需求是监听user.queue,获取到用户的消息,消息里有用户的增删改操作做法比较简单使用简单工厂,代码如下@JmsListener(destination=&amp;amp;amp;amp;amp;quot;USER.QUEUE&amp;amp;amp;amp;amp;quot;)public void onMessage(Object message){ if(message instanceof JMSObjectMessage){

2018-11-15 22:09:20 343

原创 npm插件-i18n-autoinsert

1.自定义插件的初衷最近在开发angularjs项目中使用到了国际化,例如html里有段是这样的,translate会去en.json里找company.labelCompanyProfile的翻译,如果没有就直接显示Company Profile。&amp;amp;amp;amp;amp;amp;amp;lt;h1 class=&amp;amp;amp;amp;amp;amp;quot;page-header&amp;amp;amp;amp;amp;amp;quot; [t

2018-11-10 11:43:27 933

原创 npm插件-建立一个自己的插件步骤

一个简单npm插件的开发步骤如下1 找个文件夹,命令行里输入:mkdir i8n-autoinsertcd i18n-autoinsertnpm initnpm init会要求填写一堆的信息,这些信息会在package.json里体现,例如{ &amp;amp;quot;name&amp;amp;quot;: &amp;amp;quot;i18n-autoinsert&amp;amp;quot;, //插件名,在https://www.npm

2018-11-10 11:40:25 3320

原创 angular前端对后台返回的Json数据的封装通用方法

后台返回的数据有如下几种第一种一般是code:name形式返回,例如response:{ &amp;quot;langs&amp;quot;: { &amp;quot;en_gb&amp;quot;: &amp;quot;English (UK)&amp;quot;, &amp;quot;zh_hk&amp;quot;: &amp;quot;Traditional Chinese (Hong K

2018-11-09 06:23:25 2509

空空如也

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

TA关注的人

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