摘要:
为什么会跨域,要先了解浏览器的同源策略SOP(Same Orign Policy) https://segmentfault.com/a/1190000015597029 同源: 如果两个页面的协议,端口(如果有指定)和主机地址都相同,则两个页面具有相同的源。 协议/主机/端口 跨源网络访问 同源策 阅读全文
摘要:
Java内存模型(Java Memory Model,JMM),Java虚拟机规范中定义的来屏蔽掉各种硬件和操作系统的内存访问差异, 以实现让Java程序在各种平台下都能达到一致的内存访问结果。 happens-before JMM中最为重要的一个概念便是 happens-before 关系。 ha 阅读全文
摘要:
使用EXPLAIN加上SELECT语句可以获取优化器的查询执行计划 MySQL会在查询上设置一个标记,当执行查询时,这个标记会返回关于在执行计划中每一步的信息,而不是执行它。它会返回一行或多行信息,一个表示一张表,显示出执行计划中的每一部分和执行的次序。 复杂的查询如from子句中包含查询,sele 阅读全文
摘要:
mapper Integer insertConfigAndGetId(CrawlerConfig config); 方式1:xml <insert id="insertConfigAndGetId" parameterType="com.suning.epp.fmasosadmin.dmo.Cra 阅读全文
摘要:
Lock与Synchronized: 1、Synchronized无法判断是否获取锁的状态,Lock可以判断是否获取锁2、Lock中的某些锁允许对共享资源的并发访问,如ReadWriteLock读写锁,readLock()获取读锁,writeLock()获取写锁,读锁可以被多个线程获取,写锁只能有一 阅读全文
摘要:
1.1 MySQL逻辑架构 1、连接管理与安全性 每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或者CPU中运行。服务器会负责缓存线程,因此不需要为每一个新建的连接创建或者销毁线程。 当客户端(应用)连接到MySQL服务器时,服 阅读全文
摘要:
JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。 JVM运行时数据区: 1、方法区:类信息(类名,访问修饰符、字段描述、方法 描述等)、常量、静态变量、即时编译后的class文件等。在GC时用永久代来实现方法区 2、运行时常量池:是方法区的一部分,存放 阅读全文
摘要:
concurrent包下的类都有下面的实现模式1、首先,声明变量为volatile2、然后,使用CAS的原子条件更新来实现线程之间的同步3、配合使用volatile的写可见性和CAS的原子性来实现线程之间的通信(线程安全) 最近在看 java.util.concurrent.atomic 包下的At 阅读全文
摘要:
创建线程池不允许使用Executors去创建,而是使用ThreadPoolExecutor的方式,通过使用ThreadPoolExecutor的方式我们可以根据业务需要指定适合的核心线程数最大线程数,线程空闲存活时间,任务等待队列,拒绝策略,还可以指定线程名称等。 Executors创建线程池的方式 阅读全文
摘要:
1、移除方法区 JDK 1.7及之前方法区存放的数据有类信息(类名,修饰符,字段描述,方法描述等),常量,静态变量,即时编译后的class文件。 方法区中还包含有常量池:常量池中主要有字面量和符号引用 字面量:文本字符串,声明为final的常量值; 符号引用:包括了三种常量,分别是:类和接口的全限定 阅读全文