- 博客(99)
- 资源 (10)
- 收藏
- 关注
原创 HTTP笔记
HTTP连接器直接侦听来自Browser的HTTP请求。它又分三种不同的实现:Java Nio Connector、Java Nio2 Connector、APR/native Connector,它们的对比如下:
2019-02-12 19:41:31 279
原创 linux 关闭防火墙
centos 7关闭防火墙命令:systemctl stop firewalld.service开启防火墙:systemctl start firewalld.service关闭开机自启动:systemctl disable firewalld.service开启开机启动:systemctl enable firewalld.servicecentos 6关闭防火墙的方法为:...
2019-01-10 09:45:44 311 1
原创 golang-glide在win10下出现“Unable to export dependencies to vendor directory: Error moving files”错误解决
找到gopath:下 文件github.com\Masterminds\glide\path\winbug.go修改如下函数:func CustomRename(o, n string) error { // Handking windows cases first if runtime.GOOS == "windows" { msg.Debug("Detected Windows...
2019-01-03 10:18:35 1057
原创 go 依赖管理 glide
我们来熟悉一下glide的命令# 初始化glide配置glide createglide init# 添加新的包glide get [package name]#如:glide get github.com/orcaman/concurrent-map# 根据glide.yaml更新包glide updateglide up# 根据glide.yaml安装包glide ...
2019-01-03 10:17:03 384
原创 Spring返回自定义header及Content-type
在使用Spring中, 如果直接对Resopnse中的content-type赋值,会被系统忽略, 如: @GetMapping("/e2") public String getE2( HttpServletResponse response) throws IOException { response.setHeader("content-type", "application/...
2018-08-10 09:33:15 17682 1
原创 Spring Boot学习笔记--零散型.
单体应用(Monolithic) VS 微服务一个单体应用把所有功能放到一个进程中.一个微服务只是把功能元素放到独立的服务中.单体应用有如下优势 开发效率高,运行速度快(进程间通信效率要远大于网络通信)运行效率高,部署方便单体应用程序的不足 中心化情况严重, 耦合度较高,伸缩(Scale)性差, 持续交付能力差元编程在JAVA编程语言中, 元编程是一种新的变动模式, ...
2018-08-07 09:19:12 223
原创 @ServletComponentScan 注解加上后拦截器失效
今天项目中遇到一个问题, 当使用@ServletComponentScan注解标注时, 原来正常的自定义MyInterceptor突然失效了,项目代码如下; MyInterceptor 代码如下public class MyInterceptor extends HandlerInterceptorAdapter { @Override public boolean pre...
2018-08-01 12:17:42 5828
原创 SpringBoot Filter配置
标准SpringMvc filter配置文件如下; <filter> <filter-name>webContextFilter</filter-name> <filter-class>com.x.xx.core.web.WebContextFilter</filter-class> </filter>...
2018-08-01 10:53:23 2421 1
原创 SpringBoot+myBatis+Druid配置项目
项目结构: 添加依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.0</version></dependency>&a
2018-07-30 17:58:33 535
原创 java -jar 启动参数
1.-Dspring.profiles.active=dev 这个可以在spring-boot启动中指定系统变量,多环境(测试、预发、线上配置)的区分 3. jvm堆设值: -Xmx3550m -Xms3550m -Xmn2g -Xss128k 4. -client,-server这两个参数用于设置虚拟机使用何种运行模式,client模式启动比较快,但运行时性能和内存管理效率...
2018-07-23 17:19:16 104792 1
原创 SpringBootApplication笔记
@SpringBootApplication 作用: 源码如下:@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan( exclud...
2018-07-18 10:26:59 232
原创 Spring Boot启动容器选择
使用默认内嵌tomcat启动配置Pom文件:&lt;packaging&gt;jar&lt;/packaging&gt;&lt;!--添加依赖 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&
2018-07-16 21:21:26 1551
原创 Kafka笔记
kafka和JMS(Java Message Service)实现(activeMQ)不同的是:即使消息被消费,消息仍然不会被立即删除.日志文件将会根据broker中的配置要求,保留一定的时间之后删除;比如log文件保留2天,那么两天后,文件会被清除,无论其中的消息是否被消费.kafka通过这种简单的手段,来释放磁盘空间,以及减少消息消费之后对文件内容改动的磁盘IO开支.partitions的...
2018-07-12 21:01:56 223
原创 ES-分组聚合
返回空BucketsGET /cars/transactions/_search{ &quot;size&quot; : 0, &quot;aggs&quot;: { &quot;sales&quot;: { &quot;date_histogram&quot;: { &quot;field
2018-07-04 15:32:23 21319
原创 DSL-- Term关键字
The term query finds documents that contain the exact term specified in the inverted index. For instance:{ "term" : { "user" : "Kimchy" } }Finds documents which contain the exact term Kimch...
2018-06-27 14:37:26 799
原创 ElasticSearch DSL语言.
ES支持一种JSON格式的查询,叫做DSL,domain specific language。这门语言刚开始比较难理解,因此通过几个简单的例子开始:下面的命令,可以搜索全部的文档:Elasticsearch DSL中Query与Filter的不同Query在查询上下文中,查询会回答这个问题 –这个文档匹不匹配这个查询,它的相关度高么, 如何验证匹配很好理解,如何计算相关度...
2018-06-27 10:11:43 3882
原创 Elasticsearch 笔记
类比传统关系型数据库 Relational DB -&amp;gt; Databases -&amp;gt; Tables -&amp;gt; Rows -&amp;gt; Columns Elasticsearch -&amp;gt; Indices -&amp;gt; Types -&amp;gt; Documents -&amp;gt; Fields
2018-06-26 17:58:12 251
原创 三种连接ZooKeeper的方式
1. 使用客户端命令连接Zookeeper连接Server 使用命令./zkCli.sh -server 127.0.0.1:2181连接成功后返回如下信息:Connecting to 127.0.0.1:21812018-06-20 00:13:40,884 [myid:] - INFO [main:Environment@100] - Client environment...
2018-06-20 17:44:20 171750
原创 ZooKeeper伪集群模式
伪集群模式:就是在一台物理机上运行多个Zookeeper 实例在一台机器上部署了3个server,要满足以下条件 1. 端口号不能冲突,除了clientPort不同之外, 2. dataDir也不同。 3. 创建myid, 在dataDir所对应的目录中创建myid文件来指定对应的Zookeeper服务器实例。安装部署1.下载解压解压到目录:/usr/local/...
2018-06-20 15:01:27 305
原创 JPS命令
Jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java JVM进程的一些简单情况。 类似命令 ps -ef|grep java注意: jps存放在JAVA_HOME/bin/jps,使用时为了方便请将JAVA_HOME/bin...
2018-06-20 14:30:50 330
原创 Zookeeper笔记
zookeeper 是一个开源的分布式协调服务,由雅虎公司创建,是 google chubby 的开源实现。zookeeper 的设计目 标是将哪些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集(由若干条指令组成的,完成 一定功能的一个过程),并且以一些列简单一用的接口提供给用户使用。...
2018-06-14 11:58:14 159
原创 DNS及CDN解析
DNS域名解析域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。 因特网的域名结构 各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。用这种方法可使每一个域名在整个互联网范围内是唯一的,并且也容易设计出一种查找域名的机制。因特网域名结构:域名服务器域名到IP地址...
2018-05-25 16:54:19 19979 3
原创 栈上分配、TLAB
JAVA对象分配流程如果开启栈上分配,JVM会先进行栈上分配,如果没有开启栈上分配或则不符合条件的则会进行TLAB分配,如果TLAB分配不成功,再尝试在eden区分配,如果对象满足了直接进入老年代的条件,那就直接分配在老年代,如下图。栈上分配栈上分配是java虚拟机提供的一种优化技术,基本思想是对于那些线程私有的对象(指的是不可能被其他线程访问的对象),可以将它们打散分配在栈上...
2018-05-24 14:46:25 4009 3
原创 JVM GC笔记二
一次编写,到处运行夸平台支持语言可以分为两种 一:c,c++等语言,属于编译级别, 二、JAVA,.Net属于中间字节码级别。JVM, JRE,JDK的关系如上图: JVM是整个JAVA平台的最底层, 它负责于操作系统的交互。 JRE(java runtime enviroment):包含JVM,以及其他的一些类库,这些类库是由其他一些语言写的, JDK:包括Java编译的...
2018-05-22 20:34:36 191
原创 Web分布式建构发展简述
冯诺依曼模型 为什么使用分布式系统: 1. 升级单机处理能力的性价比越来低 升级单机处理能力的性价比越来低 升级单机处理能力的性价比越来低 2. 单机处理能力存在瓶颈 单机处理能力存在瓶颈 3. 稳定性和可用这两个指标很难达到 .架构的发展过程阶段一,单应用架构 把所有软件和应用都部署在一台机器上,这样就完成一个简单系统的搭建,这个时候的讲究的是效率.阶段二,应用...
2018-05-21 10:52:15 271
原创 NIO 笔记
既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 这些是Java NIO中最重要的通道的实现:FileChannel DatagramChannel SocketChannel ServerSocketChannelFileChannel 从文件中读写数据。...
2018-05-19 23:00:13 261
原创 centos 7 安装donet core2.0环境
安装环境: centOS 7.0其他环境参照: https://www.microsoft.com/net/download/linux-package-manager/centos/sdk-currentAdd the dotnet product feedBefore installing .NET, you’ll need to register the Microsoft ke...
2018-05-18 09:13:32 457
原创 docker笔记
Image:1.Docker 把应用程序及其依赖,打包在 image 文件里面。只有通过这个文件,才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。2.实际开发中,一个 image 文件往往通过继承另一个 image 文件,加上一些个性化设置而生成。举例来说,你可...
2018-05-17 09:53:19 193
原创 xml中 aop:aspect aop:advisor如何配置
我们知道Spring-AOP的核心执行流程是这样的. 1. Spring Ioc初始化所有Bean. 如果初始化Bean的时候发现改Bean满足pointcut中SpEl表达式, 则将该Bean做动态代理. 2. 在Bean的方法执行时,判断该Bean是否为代理对象,若是代理对象的话, 判断当前Method是否满足aop表达式, 3. 如果满足表达式,则按照顺序通知Aop配置的各通知(前,后...
2018-05-09 16:28:23 2917 2
原创 手动模拟实现Spring-AOP
Spring中AOP设计思路是这样的.在BeaFactory.getBean()时,调用方法initBean(); 在该方法中判断当前Bean是否含有满足SpEL表达式的Method, 没有的话, 返回原始的Bean, 有的话, 会对当前Bean做动态代理, 当代理对象的方法被调用时,会发送通知到Aop拦截器,进而实现Aop的功能.本篇文章思路接着上篇文章, (手动模拟实现Spr...
2018-05-07 18:10:02 1234
原创 手动模拟实现Spring-MVC
SpringMVC功能的实现主要由两部分实现 1. 配置ContextLoaderListener在Web容器启动过程中生成WebApplicationContext, 用来存储Web容器上下文,初始化Ioc等. 2. 配置DispatcherServlet,用来拦截Servlet请求,实现MVC功能.其中WebApplicationContext我们在上一篇博客已经模拟实现了, 本文章接...
2018-05-07 15:48:18 1087
原创 手动模拟实现Spring-IOC
Spring框架太大,读源码包装太严重, 抽丝剥茧整理出主要思路,自己模拟一份Spring框架,该框架支持如下功能: DI,IOC,等基础功能; 主要类如下: FLBeanDefinition: 保存XML中Bean被解析后的基本信息, FLBeanWrapper: 包装实例化的Bean,以及被代理的bean FLDefaultListableBeanFactory,用来...
2018-05-07 11:17:36 1534
原创 手动模拟实现动态代理--Proxy
承接 上一篇博客, https://blog.csdn.net/yangsnow_rain_wind/article/details/79291256 接着分析动态代理的深层实现当对象被动态代理之后, 原生对象被代理为一个新对象, 类型为class com.sun.proxy.$Proxy0, 我们把生成的动态类的代码保存到本地磁盘,//以下代码把动态类保存到本地磁盘,b...
2018-05-06 18:20:44 1024
原创 Spring AOP源码 浅析
NND ,源码实在复杂,先整理个思路吧AOP配置文件demo<bean id="daoImpl" class="com.xx.xx.pcwebv2.Dao.CDaoImp" /><bean id="timeHandler" class="com.xx.xx.pcwebv2.Dao.TimeHandler" /><aop:config prox
2018-05-03 17:42:36 558
原创 StandardContext 启动详解
StandardContext初始化过程StandardContext的启动主要由startInternal ()完成的 本方法主要完成以下功能:1.所有Children容器[wrapper]的启动 2.初始化WebappLoader 3.实例化contextManager并启动 等………启动过程源码://org.apache.catalina.core.Standar...
2018-04-28 11:18:56 3058
原创 ContextLoaderListener 初始化过程.
ServletContextListener 生命周期昨用:监听 ServletContext 对象被创建或销毁的 Servlet 监听器, 在当前 WEB 应用被加载时对当前 WEB 应用的相关资源进行初始化操作: 如: 创建数据库连接池,创建Spring 的 IOC 容器,读取当前 WEB 应用的初始化参数等配置:在web.xml中进行配置:<...
2018-04-27 17:28:43 1683
原创 MyBatis 中 MapperScannerConfigurer分析
myBatis源码学了一段时间, 突然对接口的Mapper类怎么变成FactoryBean注入到项目中很好奇, 找时间研究了下, 做个总结.在以前的分析代码中, 手动调用Mapper访问数据的过程如下; IUserMapper mapper = session.GetMapper(IUserMapper.class); UserBean bean = mapper.selectByP...
2018-04-27 14:12:49 347
原创 DispatcherServlet初始化过程详解
DispatcherServlet作用DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处。 DispatcherServlet加载过程1.调用无惨构造函数,初始化DispatcherServlet实例2.StandardCo...
2018-04-25 14:20:06 1912
原创 Servlet 启动过程
新增Web应用时创建注入ContextConfig对象;//org.apache.catalina.startup.Tomcat#addWebapp public Context addWebapp(Host host, String url, String name, String path) { silence(host, url);//1. 创建standar...
2018-04-25 09:36:21 720
原创 Tomcat请求处理一个请求的过程
Connector组件是Tomcat两个核心组件之一(另一个是Container),主要任务是负责接收客户端发过来的TCP连接请求,创建一个Request和Response对象用于和请求端交换数据。Tomcat使用Apache Coyote库来处理网络I/O的。Connector是通过适配器将自己“置入”这个框架中的,具体是org.apache.catalina.connector.Coy...
2018-04-24 15:09:02 4722
使用Gradle ,tomcat 下构建最简单Spring MVC
2018-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人