摘要:
查看内存使用情况 linux的虚拟内存机制,很多时候回导致内存得不到及时释放,有时候内存很少了,kill了很多进程,但是内存还是没有释放,这时候可以尝试一下手动释放,linux是提供了这样的接口的。 释放内存之前最好sync一下,sync就是告诉系统,把缓存的东西该写磁盘的写磁盘。 命令 sync 阅读全文
摘要:
第一范式:所有字段值都是不可分解的原子值。即每个字段不能是一个集合,只能是单独的一个基本属性。第二范式:强调非主属性要依赖于主键。即在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。第三范式:强调非主属性(直接)依赖于主键,即非主属性间不存在依赖关系。每一列数据都和 阅读全文
摘要:
1.1.1. 主要对象介绍 SqlSessionFactoryBuilder 通过加载MyBatisde 核心配置文件,创建SqlSessionFactory,创建完后就不需要了 SqlSessionFactory 定义了openSession的不同重载方法 sqlSession(线程不安全) 定义 阅读全文
摘要:
1、json字符串转list 返回值是new TypeToken<ArrayList<NodeBean>>() {}.getType()); 的类型 1、泛型使用 没有引入泛型之前时写法: public class UserResult { public int code; public Strin 阅读全文
摘要:
查看定时任务 crontab -l 创建定时任务 编辑定时任务 执行完成结果 详细请参考下面链接 https://www.cnblogs.com/zoulongbin/p/6187238.html 阅读全文
摘要:
JVM内存管理 JVM将内存划分为5个部分:堆、方法区、PC寄存器(也叫程序计数器)、虚拟机栈、本地方法栈 PC寄存器(程序计数器):用于记录当前线程运行时的位置,每一个线程都有一个独立的程序计数器,线程的阻塞、恢复、挂起等一系列操作都需要程序计数器的参与,因此必须是线程私有的。 java 虚拟机栈 阅读全文
摘要:
java内存模型 为了控制线程之间的通信,(完成底层封装) 用来屏蔽掉各种硬件和操作系统之间的内存访问差异,以实现让Java程序在各平台下都能达到一致的内存访问效果。 JMM目标:定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节(这里变量指代的是实例字段、静 阅读全文
摘要:
已转移 Jetty嵌入式开发 嵌入Jetty服务,通常执行下面的步骤: 1)创建一个服务 2)添加和配置服务器线程池 3)添加和配置处理器 4)添加和配置Servlet、Webapp到处理器 5)添加和配置连接器 6)启动服务 7)等待(join服务防止主线程退出) Jetty参数设置 线程池(Th 阅读全文
摘要:
Zookeeper 架构 客户端随机连接集群中的任何一台 server 集群内所有的 server 基于 Zab(ZooKeeper Atomic Broadcast)协议通信 集群内部根据算法自动选举出 leader, 负责向 follower 广播所有变化消息 集群中每个follower 都和 阅读全文
摘要:
分布式服务需要一个全局锁来实现同一个模块多个服务之间的同步。就需要用到分布式锁。 实现方式:数据库主键、redis、zookeeper 1、数据库 利用数据库主键唯一规则,在争抢锁的时候向DB中写一条记录,这条记录主要包含锁的id、当前占用锁的线程名、重入的次数和创建时间等,如果插入成功表示当前线程 阅读全文