随笔分类 -  JAVA

摘要:1、SpringBoot 启动main() 1.1 @SpringBootApplication 注解,其实主要是 @ComponentScan, @EnableAutoConfiguration, @SpringBootConfiguration 三个注解 @ComponentScan 注解: s 阅读全文
posted @ 2019-09-02 12:04 北方有鱼 编辑
摘要:说明: 本文知识网摘,仅限自己加深学习,原文出处点击 一、准备 1、了解http请求及特点 2、了解cookie和session 3、了解用户登录和注销流程 二、单机用户登录流程 总体流程图实现: 1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http 阅读全文
posted @ 2019-08-15 08:49 北方有鱼 编辑
摘要:1、fail-fast 我们通常说的Java中的fail-fast机制,默认指的是Java集合的一种错误检测机制。当多个线程对部分集合进行结构上的改变的操作时,有可能会产生fail-fast机制,这个时候就会抛出ConcurrentModificationException(后文用CMExcepti 阅读全文
posted @ 2019-08-14 16:36 北方有鱼 编辑
摘要:1、“锁” 的生活实例 比如,你今天要去银行办业务,你到了银行之后,要先取一个号,然后你坐在休息区等待叫号,过段时间,广播叫到你的号码之后,会告诉你去哪个柜台办理业务,这时,你拿着你手里的号码,去到对应的柜台,找相应的柜员开始办理业务。当你办理业务的时候,这个柜台和柜台后面的柜员只能为你自己服务。当 阅读全文
posted @ 2019-08-14 15:40 北方有鱼 编辑
摘要:并发编程,为了保证数据的安全,需要满足以下三个特性: 原子性是指在一个操作中就是cpu不可以在中途暂停然后再调度,既不被中断操作,要不执行完成,要不就不执行。 可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。 有序性即程序执行的顺序按照代码的先后顺序 阅读全文
posted @ 2019-08-14 13:58 北方有鱼 编辑
摘要:1、JVM内存模型 总结:可以发现最明显的一个变化是元空间从虚拟机转移到了本地内存。默认情况下,元数据空间大小仅受限于本地内存, 这意味着以后不会因为永久代大小不够而抛出OOM异常了。 jdk1.8以前,HotSpot VM将class和类的jar包数据存储在PermGen里, PermGen大小是 阅读全文
posted @ 2019-08-13 15:53 北方有鱼 编辑
摘要:原文转自: https://blog.csdn.net/Strong997/article/details/80033787 1、GC 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。 jvm 中 阅读全文
posted @ 2019-08-13 15:47 北方有鱼 编辑
摘要:1. 一段java程序是如何运行起来的呢? Java源文件,通过编译器,产生.Class字节码文件,字节码文件通过Java虚拟机中的解释器,编译成特定及其上的机器码,那Java虚拟机又是怎样加载java程序并执行起来的呢?简单来说:通过类加载器加载字节码文件,被分配到JVM的运行时数据区的字节码会被 阅读全文
posted @ 2019-08-13 14:32 北方有鱼 编辑
摘要:本文转自:https://www.jianshu.com/p/d2d806ca7859 1.对象的创建 虚拟机接收到new指令时,检查这个指令能否在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化。如果都没有,先执行类加载过程。 在类加载通过后,虚拟机为新对象分 阅读全文
posted @ 2019-08-13 13:00 北方有鱼 编辑
摘要:1、什么是jvm? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 2、jvm 运行时数据区域 堆和方法区是所有线程共有的。 虚拟机栈,本地方法栈和程序计数器则 阅读全文
posted @ 2019-08-13 12:56 北方有鱼 编辑
摘要:简介: LevelDB是一个基于本地文件的存储引擎,非分布式存储引擎,原理基于BigTable(LSM文件树),无索引机制,存储条目为Key-value。适用于保存数据缓存、日志存储、高速缓存等应用,主要是避免RPC请求带来的延迟问题。在存取模型上,顺序读取性能极高,但是对于随机读取的情况延迟较大( 阅读全文
posted @ 2019-08-07 08:46 北方有鱼 编辑
摘要:具体步骤如下 1、pom.xml添加jar包: <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.4</version> </dependenc 阅读全文
posted @ 2019-08-05 14:52 北方有鱼 编辑
摘要:HSSFWorkbook workbook = new HSSFWorkbook(); //创建工作簿 HSSFSheet sheet = workbook.createSheet(“Test”); //创建SHEET页 HSSFRow row = sheet.createRow(0); //创建行 阅读全文
posted @ 2019-08-01 18:47 北方有鱼 编辑
摘要:注:hashtable:使用一把锁处理并发问题,当有多个线程访问时,需要多个线程竞争一把锁,导致阻塞。 concurrentHashMap则使用分段,相当于把一个hashmap分成多个,然后每个部分分配一把锁,这样就可以支持多线程访问。 1、HashMap与hashtable继承关系图: 2、has 阅读全文
posted @ 2019-08-01 14:15 北方有鱼 编辑
摘要:本文转载—— https://www.cnblogs.com/marsitman/p/11228684.html 线程的生命周期包含5个阶段,包括:新建、就绪、运行、阻塞、销毁。 新建:就是刚使用new方法,new出来的线程; 就绪:就是调用的线程的start()方法后,这时候线程处于等待CPU分配 阅读全文
posted @ 2019-07-23 08:48 北方有鱼 编辑
摘要:简介:mybatis的批量操作减少数据库连接次数 一、mapper 使用foreach 遍历 一、mapper 使用foreach 遍历 批量insert: 批量update: 二、使用 mybatis ExecutorType.BATCH 使用步骤: (1)在全局配置文件applcationCon 阅读全文
posted @ 2019-07-22 15:57 北方有鱼 编辑

点击右上角即可分享
微信分享提示