
JAVA
GoCZ
最帅的男人
展开
-
创建多线程的两种方法及其比较
第一种方法(继承Thread)public class ThreadTest { public static void main(String[] args) {//运行main方法的线程是主线程 for(int i=0;i<10;i++){ System.out.println(Thread.currentThread().getN...原创 2019-05-01 20:08:43 · 352 阅读 · 0 评论 -
一致性Hash算法
先从历史的角度来一步步分析,探讨一下到底什么是Hash一致性算法!一、Redis集群的使用我们在使用Redis的时候,为了保证Redis的高可用,提高Redis的读写性能,最简单的方式我们会做主从复制,组成Master-Master或者Master-Slave的形式,或者搭建Redis集群,进行数据的读写分离,类似于数据库的主从复制和读写分离。如下所示: 同样类似于数据库,当单表数据大于500W...转载 2019-09-18 17:58:59 · 10283 阅读 · 8 评论 -
设计模式:单例模式 (关于饿汉式和懒汉式)
一、什么是单例模式单例模式是比较常见的一种设计模式,目的是保证一个类只能有一个实例,而且自行实例化并向整个系统提供这个实例,避免频繁创建对象,节约内存比如我们电脑的操作系统的回收站就是一个很好的单例模式应用,电脑上的文件、视频、音乐等被删除后都会进入到回收站中;还有计算机中的打印机也是采用单例模式设计的,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;Web页面的计数器也是用...原创 2019-09-17 21:06:28 · 186 阅读 · 0 评论 -
常用的分布式事务解决方案
什么是事务?事务由一组操作构成,我们希望这组操作能够全部正确执行,如果这一组操作中的任意一个步骤发生错误,那么就需要回滚之前已经完成的操作。也就是同一个事务中的所有操作,要么全都正确执行,要么全都不要执行。事务的四大特性 ACID说到事务,就不得不提一下事务著名的四大特性。原子性原子性要求,事务是一个不可分割的执行单元,事务中的所有操作要么全都执行,要么全都不执行。一致性一致性要...转载 2019-09-17 16:31:00 · 155 阅读 · 0 评论 -
什么是分布式事务
————— 第二天 —————————————————假如没有分布式事务在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?让我们以互联网中常用的交易业务为例子:上图中包含了库存和订单两个独立的微服务,每个微服务维护了自己的数据库。在交易系统的业务逻辑中,一个商品在下单之前需要先调用库存服务,进行扣除库存,再调用订单服务,创建订单记录。正常情况下,两个数据库各自更新成功,两边数据维持着...转载 2019-09-17 14:52:44 · 204 阅读 · 0 评论 -
JVM的4种垃圾回收算法、垃圾回收机制
一、垃圾回收算法标记清除标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段标记阶段就是从根节点的对象开始进行标记,没有被标记的就是要被清除的对象清楚阶段就是将没有被标记的对象进行清除适合的场合:存活对象较多的情况下比较高效缺点:1.容易产生内存碎片,再来一个比较大的对象时(典型情况:该对象的大小大于空闲表中的每一块儿大小但是小于其中两块儿的和),会提前触发垃圾回收2.扫描...原创 2019-09-11 20:13:43 · 859 阅读 · 0 评论 -
JDBC的工具类
package com.baidu.utils;import javax.sql.DataSource;import org.apache.commons.dbutils.QueryRunner;import com.mchange.v2.c3p0.ComboPooledDataSource;/** * */public class JdbcUtils { priva...原创 2019-07-27 19:56:10 · 103 阅读 · 0 评论 -
做分页技术的工具类
package com.baidu.utils;/** */public class PageUtils { private int currentPage=0; private int prevPage=0; private int nextPage=0; private int lastPage=0; private int pageSize=0; private in...原创 2019-07-27 19:55:10 · 109 阅读 · 0 评论 -
Oracle中基本命令与操作
Oracle概述概念数据:在数据库领域看来,数据是存储的基本单位,包含文本,图片,视频,音频数据库:就是数据仓库,存储数据的地方,特指计算机设备中的硬盘,以二进制压缩文本的形式存放该文件不能直接操作,必须由各数据库公司提供的工具方可操作,该文件的格式是每个数据库公司内部定义的,不是统一规则数据库对象:在Oracle中,例如:表,视图,索引,函数,过程,触发器。。。关系型数据库:简单的...原创 2019-05-11 23:23:59 · 262 阅读 · 0 评论 -
线程状态
线程状态概述 线程状态 导致状态发生的条件 NEW(新建) 线程刚被创建,但是并未启动,还没有调用start方法 Runnable(可运行) ...原创 2019-05-05 19:26:20 · 205 阅读 · 0 评论 -
简单的JAVA小作品
创建一个简单的乘法口诀代码如下:public class cz { public static void main(String[] args) { int o=0; for(int i=1;i<10;i++){ for(int j=1;j<=i;j++){ o=i*j; ...原创 2019-05-04 16:08:15 · 3187 阅读 · 1 评论 -
JAVA中基础的一些格式
DateFormat类格式规则: 标识字母(区分大小写) 含义 y 年 M 月 ...原创 2019-05-01 20:16:56 · 151 阅读 · 0 评论 -
一些方便的遍历方法
遍历使用的场合:1、传统的for循环遍历,基于计数器的:顺序存储:读取性能比较高。适用于遍历顺序存储集合。链式存储:时间复杂度太大,不适用于遍历链式存储的集合。2、迭代器遍历,Iterator:顺序存储:如果不是太在意时间,推荐选择此方式,毕竟代码更加简洁,也防止了Off-By-One的问题。链式存储:意义就重大了,平均时间复杂度降为O(n),还是挺诱人的,所以推荐此种遍历方式。3、...原创 2019-05-01 20:09:43 · 497 阅读 · 0 评论 -
HashMap和Hashtable
首先Hashtable是jdk1.0版本加入的,命名规则上有点冲突HashMap和Hashtable的区别一:线程安全Hashtable 是线程安全的,HashMap 不是线程安全的。为什么说 HashTable 是线程安全的?来看下 Hashtable 的源码,Hashtable 所有的元素操作如put-get等都是 synchronized 修饰的,而 HashMap 并没有p...原创 2019-09-18 20:25:58 · 142 阅读 · 0 评论