随笔分类 - java技术栈
将日常开发中的java问题进行及时分类归纳,学习新知识讲给各位看客
    
            
    Tomcat内核1
    
            
            
        
摘要:一、通信协议 HTTP是Hyper Text Transfer Protoco(l超文本传输协议)的缩写 HTTP是一个应用层协议,它由请求和响应组成,是一个标准的B/S模型 HTTP是一个无状态的协议,即同一个客户端上,此次请求与上一次请求是没有对应关系的 HTTPS本质也是HTTP,只是在HTT
        阅读全文
            
        
            
    观察者模式
    
            
            
        
摘要:主要作用: 当对象间存在一对多的关系时,当一个对象状态变化时,通知依赖它的对象 一、本质理解 说明: 所谓观察者模式是一个类的状态的变化,可以被其他类检测到,并作出相应的变化 类图如下: 类说明:定义一个抽象的方法,用于对被观察者的类的状态作出反应 public abstract class Obs
        阅读全文
            
        
            
    MongoDB
    
            
            
        
摘要:一、简介 1、面向文档设计 2、MongoDB是基于JSON来描述数据的,所有的“数据行”都可以通过一个JSON格式的文档来表示 1.1 基础概念 集合:相当于SQL中的表,一个集合可以存放多个不同的文档 文档:一个文档相当于数据表中的一行,由多个不同的字段组成 字段:文档中的一个属性,等同于列 索
        阅读全文
            
        
            
    基础设计模式
    
            
            
        
摘要:一、单例模式 1.1单例模式的八种方式 1)饿汉式(静态常量) 2)饿汉式(静态代码块) 3)懒汉式(线程不安全) 4)懒汉式 (线程安全,同步方法) 5)懒汉式(线程安全,同步代码块) 6)双重检查 7)静态内部类 8)枚举 1.1.1 饿汉式(静态常量) 饿汉式的创建是这样的,先给一个私有的构造
        阅读全文
            
        
            
    SpringBoot单元测试
    
            
            
        
摘要:一、pom引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> 二
        阅读全文
            
        
            
    如何编写高质量的代码
    
            
            
        
摘要:一、java开发中通用的方法和准则 最基本的Java编码规范 包名全小写,类名首字母全大写,常量全部大写并用下划线分隔,变量采用驼峰命名法(Camel Case)命名等,这些都是最基本的Java编码规范 建议1:不要在常量和变量中出现易混淆的字母 long i=1l 建议2:不要在本类中覆盖静态导入
        阅读全文
            
        
            
    设计模式的原则
    
            
            
        
摘要:设计模式有七大原则 1)单一职责原则 基本介绍: 一个类只负责一项职责 也可以在方法级别实现 2)接口隔离原则 客户端不应该依赖它不需要的接口 public class IntefaceIsolation { public static void main(String[] args) { C c 
        阅读全文
            
        
            
    JVM 调优
    
            
            
        
摘要:一、内存回收 Minor GC、Major GC、Full GC Jvm回收:回收的内存一般包括(新生代、老年代、方法区)大部分回收的是新生代 HotSpot Vm回收分两大类型 1、部分收集: 新生代收集(Minor GC/young GC):只是新生代(Eden\s0,s1)的垃圾回收 老年代回
        阅读全文
            
        
            
    Shell脚本编写
    
            
            
        
摘要:一、文本处理工具 1、grep工具 grep:在文件中全局查找指定的正则表达式,并打印所有包含该表达式的行 egrep:扩展的egrep,支持更多的正则表达式元字符 fgrep:固定grep(fixed grep),有时也被称作快速(fast grep)按字面解释所有的字符 行过滤工具;用于根据关键
        阅读全文
            
        
            
    Json序列化的总结
    
            
            
        
摘要:一、jackSon中@JsonInclude注解详解 JsonJsonInclude.Include.ALWAYS 这个是默认策略,任何情况下都序列化该字段,和不写这个注解是一样的效果。JsonJsonInclude.Include.NON_NULL这个最常用,即如果加该注解的字段为null,那么就
        阅读全文
            
        
            
    sychronized的实现原理和应用
    
            
            
        
摘要:一、synchronized的使用 1.1修饰方法 public synchronized void method() { // todo } 1.2修饰代码块 public void run() { synchronized(this) { for (int i = 0; i < 5; i++) 
        阅读全文
            
        
            
    volatile的使用
    
            
            
        
摘要:volatile并不是java语言的特产,c语言中也有,它的原始意义就是禁用CPU缓存 比较synchronized和volatile volatile和sychronized都可以保证线程的可见性 volatile的优势,不引起线程上下文的切换 一、CPU术语 二、volatile写操作 加了vo
        阅读全文
            
        
            
    ThreadLocal使用总结
    
            
    
摘要:一、ThreadLocal基本使用 1.1使用场景 不同的线程对全局变量进行修改,使用ThreadLocal后会为每个线程创建一个副本,而不会影响其他线程的副本,确保了线程的安全 private static ThreadLocal<Integer> localvariable=ThreadLoca
        阅读全文
            
        
浙公网安备 33010602011771号