08 2019 档案
摘要:前言 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Cal
阅读全文
摘要:摘要: Executor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务的线程相当于消费者,并用Runnable来表示任务,Executor的实现还提供了对生命周期的
阅读全文
摘要:1. 为什么要用线程池 减少资源的开销 减少了每次创建线程、销毁线程的开销。 提高响应速度 ,每次请求到来时,由于线程的创建已经完成,故可以直接执行任务,因此提高了响应速度。 提高线程的可管理性 ,线程是一种稀缺资源,若不加以限制,不仅会占用大量资源,而且会影响系统的稳定性。 因此,线程池可以对线程
阅读全文
摘要:Redis简介: Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bi
阅读全文
摘要:1.虚拟IP 在 TCP/IP 的架构下,所有想上网的电脑,不论是用何种方式连上网路,都必须要有一个唯一的 IP-address。事实上IP地址是主机硬件地址的一种抽象,简单的说,MAC地址是物理地址,IP地址是逻辑地址。 虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供服务器的主机除了有
阅读全文
摘要:实例工程结构: 配置: pom.xml web.xml applicationContext.xml Job1Demo.java Job2Demo.java 部署到tomcat,启动如下:
阅读全文
摘要:1:在dos下执行jar,根据入参和引用第三方jar的操作 测试类: 打成jar包:encryptPwdForCIP.jar 测试:目录结构如下 lib文件夹下放入jar: 在lib同路径下执行dos 命令: 解释命令:java -cp ./lib/druid-1.0.29.jar;./lib/en
阅读全文
摘要:项目工程结构 一、添加maven依赖 二、spring继承redis 配置文件: applicationContext-redis.xml redis.properties 工具类 RedisUtil.java 测试:
阅读全文
摘要:一:目录 EhCache 简介 Hello World 示例 Spring 整合 二: 简介 2.1、基本介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向
阅读全文
摘要:常用命令: 打包:mvn package编译:mvn compile清空:mvn clean(清除编译后目录,默认是target目录)运行测试:mvn test安装jar包到本地仓库中:mvn install跳过测试:mvn xxx -DskipTests 1、创建 Maven 工程 ①、在 src
阅读全文
摘要:表结构设计 1、为什么一定要设一个主键? 答:因为你不设主键的情况下,innodb也会帮你生成一个隐藏列,作为自增主键。所以啦,反正都要生成一个主键,那你还不如自己指定一个主键,在有些情况下,就能显式的用上主键索引,提高查询效率! 2、你们主键是用自增还是UUID? 答:肯定答自增啊。innodb中
阅读全文
摘要:1. Druid的简介 Druid是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模
阅读全文
摘要:出处: 拜托!面试请不要再问我Spring Cloud底层原理 概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓。因此本文将通过大量的手绘图,给大家
阅读全文
摘要:1:zookeeper管理工具插件 zookeeperBrowser http://www.massedynamic.org/eclipse/updates/ 2:Eclipse快速打开文件所在的本地文件夹 在eclipse4.4版本以后系统已经自带了这么一个功能,只需要选中资源然后右键show i
阅读全文
摘要:认识字符集 对于计算机而言,它仅认识两个0和1,不管是在内存中还是外部存储设备上,我们所看到的文字、图片、视频等等“数据”在计算机中都是已二进制形式存在的。不同字符对应二进制数的规则,就是字符的编码。字符编码的集合称为字符集。 在早期的计算机系统中,使用的字符是非常少的,他们只包括26个英文字母、数
阅读全文
摘要:在不同的服务器或系统之间通过API接口进行交互时,两个系统之间必须进行身份的验证,以满足安全上的防抵赖和防篡改。 通常情况下为了达到以上所描述的目的,我们首先会想到使用非对称加密算法对传输的数据进行签名以验证发送方的身份,而RSA加密算法是目前比较通用的非对称加密算法,经常被用于数字签名及数据加密,
阅读全文
摘要:应用系统分层架构,为了加速数据访问,会把最常访问的数据,放在缓存(cache)里,避免每次都去访问数据库。 操作系统,会有缓冲池(buffer pool)机制,避免每次访问磁盘,以加速数据的访问。 MySQL作为一个存储系统,同样具有缓冲池(buffer pool)机制,以避免每次查询数据都进行磁盘
阅读全文
摘要:一:监听服务端zookeeper节点数据改变 console结果截图: 二:集群管理 应用集群中,我们常常需要让每一个机器知道集群中(或依赖的其他某一个集群)哪些机器是活着的,并且在集群机器因为宕机,网络断链等原因能够不在人工介入的情况下迅速通知到每一个机器 思路:用三个类模拟成三个服务器,去连接z
阅读全文
摘要:一、前言 前面学习了Zookeeper服务端的相关细节,其中对于集群启动而言,很重要的一部分就是Leader选举,接着就开始深入学习Leader选举。 二、Leader选举 2.1 Leader选举概述 Leader选举是保证分布式数据一致性的关键所在。当Zookeeper集群中的一台服务器出现以下
阅读全文
摘要:zookeeper是什么 Zookeeper是一个开源的分布式协调服务,其设计目标是将那些复杂的且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一些列简单的接口提供给用户使用。其是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/发布、负载均衡、命名
阅读全文