8 倪陆章

华为 - Java软件工程师

我要认证

github.com/nju-Nicko

等级
TA的排名 4w+

如何快速成长为技术大牛?阿里资深技术专家的经验告诉你

阿里妹导读:你是否有类似这样的问题——“天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?”今天,阿里资深无线开发专家李运华,系统梳理了自己的思考和理解,希望帮助更多同学少走一些弯路。写在前面不管是开发、测试、运维,每个技术人员心里多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。然而“梦想是美好的,现实却是残...

2020-02-25 11:42:27

ES termQuery和matchQuery区别浅析

看官方提供的例子:1.PUT my_index { "mappings": { "my_type": { "properties": { "full_text": { "type": "string" }, "exact_value": { ...

2020-03-15 21:09:36

Wireshark验证TCP三次握手四次挥手

本文介绍如何通过Wireshark抓包工具验证TCP的三次握手四次挥手过程。首先本地起了一个tomcat服务器,跑了一个简单的基于SpringMVC的rest服务。打开Wireshark,捕获指定网卡的包,这里就是napcap loopback adapter。显示过滤器里输入http,只展示http请求包。这会还没有http的数据包。postman里进行一下调用。...

2020-03-10 23:19:29

Wireshark抓包工具使用

Wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用Wireshark的人必须了解网络协议,否则就看不懂Wireshark了。为了安全考虑,Wireshark只能查看封包,而不能修改封包的内容,或者发送封包。Wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以Wireshark看不懂HTTPS中的内容...

2020-03-08 21:25:42

九种设计模式在Spring中的应用

Spring中涉及的设计模式总结1.简单工厂(非23种设计模式中的一种)实现方式:BeanFactory。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。实质:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。实现原理:bean容器的启动阶段...

2020-02-27 12:31:52

Java线程池的使用

什么是线程池及其作用JDK的ThreadPoolExecutor提供了线程池功能,合理利用线程池能够带来三个好处:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和...

2019-11-24 22:04:32

Spring之ApplicationContextAware接口详解

在Spring中,当一个bean实现了ApplicationContextAware接口,这个bean便可以获取到ApplicationContext对象,进而获取应用上下文中的bean。代码实例package com.huawei.nlz.springplayground.applicationcontextaware;import org.springframework.bean...

2019-10-30 23:02:26

排列组合的一些公式及推导

部分内容转自:https://www.cnblogs.com/1024th/p/10623541.html。加法原理、乘法原理分类计数原理:做一件事,有n类办法,在第1类办法中有m1种不同的方法,在第2类办法中有m2种不同的方法,…,在第n类办法中有mn种不同的方法,那么完成这件事共有N=m1+m2+…+mn种不同的方法。分步计数原理:完成一件事,需要分成n个步骤,做第1步有m1...

2019-09-02 01:14:02

Spring Bean的实例化时机与ApplicationContext中单例bean的延迟初始化

Spring Bean的实例化时机Spring什么时候实例化bean,分两种情况:如果使用BeanFactory做为bean容器,则所有bean都是在第一次使用时才实例化;如果使用的是ApplicationContext,则:如果bean的scope是singleton的,并且lazy-init为false(默认是false,所以可以不用设置),则 ApplicationConte...

2019-08-26 00:56:02

Spring Bean的生命周期

转自:https://www.cnblogs.com/zrtqsk/p/3735273.html。本文代码归档地址:https://github.com/nju-Nicko/spring-playground/tree/master/src/main/java/com/huawei/nlz/springplayground/lifecycle。Spring Bean生命周期流程图Spr...

2019-08-25 16:58:12

Java泛型详解

什么是泛型程序设计泛型程序设计是指编写的代码可以被很多不同类型的对象重用。比如,不需要给存储String的集合和存储File的集合分别设计不同的类。类型参数的好处在没有泛型类型之前,Java泛型程序设计是利用继承实现的。比如一个ArrayList,它内部维护一个Object数组,get出来的也是Object类型的对象,add进去的也是Object类型的对象,这样会导致get值出来的时候...

2019-08-24 01:35:30

Java静态代理和动态代理

什么是代理代理是指在不改变目标对象代码的情况下,可以控制对目标对象的访问,可以在其前后增加自己的业务处理代码,甚至阻止对目标对象的方法的访问。Java中代理的实现主要包括静态代理和动态代理,其中,动态代理又主要有JDK动态代理和cglib动态代理两种方式。静态代理静态代理就是使用代理设计模式,代理类由程序员自己编写,在编译期就已经确定好了。代理模式类图如下:举个例子,...

2019-08-15 03:05:29

密码学基础知识

公司现在对产品的安全性抓得很严,各种敏感数据都要求加密存储,通信协议全部要求是安全的通信协议。乘这个机会,学习一些密码学的基础知识。一些术语首先是密码学的一些术语梳理:明文:原始消息 密文:加密后的消息 加密:从明文到密文的变换过程 解密:从密文到明文的变换过程 密钥:用来完成加解密等过程的秘密信息 密码算法:也叫密码,是用于加密和解密的数学函数(通常情况下,有两个相关的函数...

2019-08-12 01:30:50

Java阻塞队列之ArrayBlockingQueue源码解析

阻塞队列概要阻塞队列(java.util.concurrent.BlockingQueue),顾名思义,是一种特殊的队列,它的特性在于支持阻塞的添加和删除元素操作。在JDK中其接口定义如下:public interface BlockingQueue<E> extends Queue<E> { // 将指定元素插入此队列中(如果立即可行且不会违反容...

2019-04-05 15:15:44

Java volatile关键字详解

1.关于volatilevolatile是Java语言中的关键字,用来修饰会被多线程访问的共享变量,是JVM提供的轻量级的同步机制,相比同步代码块或者重入锁有更好的性能。它主要有两重语义,一是保证多个线程对共享变量访问的可见性,二防止指令重排序。2.语义一:内存可见性2.1 一个例子public class TestVolatile { public static vo...

2019-03-07 01:56:42

Java线程的6种状态及切换

Java中线程的状态分为6种。1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状...

2019-01-24 22:24:45

Servlet的url-pattern匹配规则

转自:https://www.cnblogs.com/canger/p/6084846.html。首先需要明确几个容易混淆的规则:servlet容器中的匹配规则既不是简单的通配,也不是正则表达式,而是特定的规则。所以不要用通配符或者正则表达式的匹配规则来看待servlet的url-pattern。 Servlet 2.5开始,一个servlet可以使用多个url-pattern规则,&l...

2018-12-07 02:35:10

Spring Resource和ResourceLoader源码解析

Spring用Resource接口抽象所有的底层资源,包括File、ClassPath、URL等。ResourceLoader接口是Resource的加载器,根据资源的路径/路径模式获取Resource实例。Resource接口定义Resource接口的定义如下:public interface Resource extends InputStreamSource { boo...

2018-12-05 23:54:53

Spring Boot快速上手

Spring Boot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。有了它,你可以更加敏捷地开发Spring应用程序,专注于应用程序的功能,而不用在Spring的配置上多花功夫,甚至完全不用配置。Spring Boot提供了四个核心功能:自动配置:针对很多Spring应用程序的常见的应用功能,Spring ...

2018-11-03 12:58:45

Java开发人员常用网站收录

1. Java API Doc说明:Java API官方文档。2. Spring说明:Spring官网,当前微服务架构下常用的Spring项目有:Spring Framework、Spring Boot、Spring Cloud。3. Redis说明:Redis官网,你可以在此了解到Redis的产品文档、各语言下的客户端SDK以及Redis CLI的命令等。4. MyBat...

2018-11-01 22:01:46

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。