摘要:使用System.getProperty()方法获取JVM信息 使用Sigar获取计算机物理信息
阅读全文
04 2017 档案
摘要:使用System.getProperty()方法获取JVM信息 使用Sigar获取计算机物理信息
阅读全文
摘要:背景知识点我 1. BIO JDK5之前, JDK的IO模式只有BIO(同步阻塞)问题: 因为阻塞的存在, 需对每个请求开启一个线程. 过多的线程切换影响操作系统性能解决: 使用线程池, 处理不过来的放入队列, 再处理不过来的会触发其他机制问题: 超过线程池数量的请求需要等待 服务端1: 一个请求~
阅读全文
摘要:1) 同步阻塞IO(Blocking IO)2) 同步非阻塞IO(Non-blocking IO)3) IO多路复用(IO Multiplexing)4) 异步IO(Asynchronous IO) 注意以下概念: 1.同步/异步 同步和异步是相对的同步 前后两件任务, 有严格的顺序一致性(依赖和递
阅读全文
摘要:1.创建多线程 2.定时器Timer 定时任务就是靠多线程实现的 3.互斥 synchronized 保证线程安全(数据完整性) 4.同步 wait/notify 保证线程间执行次序 5.线程间传递参数 共享变量 管道 6.ThreadLocal 该变量形式上共享, 但却是by线程独立 Thread
阅读全文
摘要:把递归算法转化为非递归算法, 有如下两种基本方法:1)通过分析, 用迭代的方式自底向上. 有时需用栈保存参数2)模拟函数调用过程, 用栈保存入参 尾递归: 一个函数只在return处调用自身。很多编译器就能将其转换为迭代 更通用点的伪代码: 注: 如果递归子函数都在一起且在递归母函数程序的末尾,则无
阅读全文
摘要:import java.util.Arrays; import java.util.Stack; // 链式存储的二叉树 public class BSTree { private TreeNode root = null; public TreeNode getRoot() { return root; } public BSTree(Tre...
阅读全文
摘要:NoSql是为了解决高并发、大规模存储、高可用、高可扩展等一系列问题而产生的数据库解决方案。NoSql,非关系型的数据库,全称Not only sql。它不能替代关系型数据库,只能作为关系型数据库的一个良好补充。目前的NoSql有:key-value对存储(Redis MemcacheDB, 快,
阅读全文
摘要:有时间再贴算法分析图 JDK7的Collections.sort()的算法是TimSort, 适应性的归并排序, 比较晦涩难懂, 这里没有实现
阅读全文
摘要:JDK提供的XML解析方式分为两种:DOM方式和SAX方式DOM:Document Object Model。需要读取整个XML文档,先需要在内存中构架代表整个DOM树的Document对象,可以进行随机访问. 需要考虑内存.适合增删改SAX:Simple API for XML。采用事件驱动的方式
阅读全文
摘要:Quartz是一个定时任务调度的框架,在预定的时间到达时,执行某一任务 可认为是JDK的Timer类的扩展 Quartz的核心接口Scheduler – 核心调度器Job – 任务JobDetail – 任务描述Trigger -- 触发器 SimpleTrigger只执行一次或在给定时间触发并重复
阅读全文
摘要:1. 为什么要进行读写分离 大量的JavaWeb应用做的是IO密集型任务, 数据库的压力较大, 需要分流 大量的应用场景, 是读多写少, 数据库读取的压力更大 一个很自然的思路是使用一主多从的数据库集群: 一个是主库,负责写入数据;其它都是从库,负责读取数据. 主从库数据同步. mysql原生支持主
阅读全文
摘要:1. Webservice Webservice是一套远程调用技术规范 远程调用RPC, 实现了系统与系统进程间的远程通信.java领域有很多可实现远程通讯的技术,如:RMI(Socket + 序列化)、Binary-RPC(Http+二进制, 代表Hessian)、XML-RPC(Http+XML
阅读全文
摘要:1.什么是Shiro Shiro是Java的一个安全框架, 完成权限控制的任务. 权限控制的基本功能: 认证(让系统知道你是谁); 授权(让系统知道你能做什么)权限控制常用的技术: 过滤器/拦截器, 或者使用代理模式权限控制的数据模型: 权限表-(多对多)-角色表-(多对多)-用户表 shiri的组
阅读全文
摘要:1.什么是Activiti 在解释activiti之前我们看一下什么是工作流。工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现
阅读全文
摘要:1. 什么是Solr Solr是基于lucene的全文检索服务器。不同于lucene工具包,solr是一个web应用,运行在servlet容器,屏蔽了底层细节,并对外提供服务。 点我lucene快速入门 Solr创建及维护索引:solr客户端向solr服务端发送POST请求,请求内容是包含Field
阅读全文
摘要:1. 什么是lucene lucene是Apache的一个全文检索工具,使用lucene能快速实现全文检索功能。Lucene是一个工具包,你可以调用它的函数, 但它不能独立运行,不单独对外提供服务。 2. lucene实现全文检索的流程 3. 创建索引 需要进行全文检索的内容的格式是丰富多样的,有视
阅读全文
摘要:RabbitMQ是一个开源的,实现AMQP协议的,可复用企业消息队列系统。 类似的系统还有ActiveMQ(实现JMS)和Kafka(分布式)。RabbitMQ支持主流的操作系统,支持多种开发语言,能降低系统间访问的耦合度,便于数据同步。 RabbitMQ提供如下5种队列模型(远程调用不是消息队列)
阅读全文
|