自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

拓拓的博客

coding....

  • 博客(61)
  • 资源 (1)
  • 问答 (6)
  • 收藏
  • 关注

原创 怎么搭建一个属于自己的技术博客系统?

把自己搭建的步骤跟大家说一下,按照步骤一步步走,基本应该可以成功搭建1.需要准备的东西及应用到的技术栈名称地址备注阿里云服务器https://www.aliyun.com/activity/ambassador/share-gift?userCode=43qpsekg按需购买Java博客服务运行必用docker我用来安装MySQL的halohttps://halo.run/开源的博客系统宝塔https://www.bt.cn/?invite

2021-06-23 16:54:39 417

原创 zookeeper原生及第三方JavaAPI使用

5.1.3 运行服务常见异常 磁盘没有剩余空间 No space left on device 通常需要清理磁盘,再加上对ZK机器的磁盘使用量监控和ZK日志的自动清理。 集群中其他机器leader选举端口未开 Cannot open channel to 2 at election address /192.168.137.3:3888 只要快速启动集群中的其他机器即可。...

2018-05-17 13:16:18 363

原创 Java多线程编程核心技术--第4章 lock的使用

4.1 使用ReentrantLock类4.1.1 使用ReentrantLock实现同步class MyService { //锁 private Lock lock = new ReentrantLock(); public void testMethod(){ lock.lock(); for(int i=0;i &lt...

2018-05-16 13:20:04 296

原创 Java多线程编程核心技术--第3章 线程间通信

3.1 等待、通知机制3.1.3 等待/通知机制的实现wait()方法作用是让当前线程进行等待,wait是Object类的方法,用来将当前线程置入“预执行队列”中。在wait所在代码行处停止执行,直到接到通知或被中断为止。 调用wait()之前,线程必须获得该对象的对象级别锁,也就是只能在同步方法或同步块中调用wait()方法。 如果调用wait时线程没有持有适当的锁,则抛出I...

2018-05-08 12:39:39 193

原创 Java多线程编程核心技术--第2章 对象及变量的并发访问

2.1 synchronized同步方法方法中的变量不存在非线程安全问题,永远都是线程安全的。这是方法内部的变量私有特性造成的。 2.1.2 实例变量非线程安全使用多个线程并发访问PrivateNum类中的addI方法。public class PrivateNum { private int num = 0; synchronized public v...

2018-05-05 20:50:45 159

原创 Java实现桥接模式

22.2 紧耦合程序演化两个手机品牌,都有游戏,两个手机是不同的操作系统。怎么写? 该有一个父类手机品牌游戏,让N和M品牌手机游戏都继承它。 如果N和M品牌手机又都增加了通讯录功能呢? 基于这个模型,那如果新增加一个手机品牌,并且每个手机品牌增加各种功能,例如:游戏、通讯录、MP3等。 那样就会变得非常麻烦。 继承的问题 无法在运行时改变从父类继承的实现,子类和父类...

2018-04-16 09:47:57 4152

原创 Redis持久化机制介绍

Redis支持RDB和AOF两种持久化机制,持久化可有效避免因进程退出造成的数据丢失问题。5.1 RDBRDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB过程分为手动触发和自动触发。 5.1.1 触发机制手动触发分别对应save和bgsave命令: save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对内存较大的实例会造成长时间阻塞,线上...

2018-04-15 22:13:49 321

原创 Java实现抽象工厂模式

15.3 用工厂方法模式的数据访问程序现在想用不同的数据库连接,获得数据,但是每个数据库连接的方法可能有些不同。 想用工厂方法兼容不同的数据库。 现在想在User表获得记录和添加记录。SqlServer和Access都有user表。 User接口,用户客户端访问,解除和具体数据库的耦合 public interface IUser { void insert...

2018-04-11 19:12:25 3053

原创 Java实现建造者模式

13.4 建造者模式我想构建一个小人,作为人,我们有两只手,两个脚,一个脑袋,这个是固定的。但是人的高矮胖瘦不一样。 建造者模式可将一个产品的内部表象和产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 使用该模式,用户只需指定需要建造的类型就可以得到它们,具体建造过程和细节就不需知道了。 先定义一个抽象的造人的类(有头、身体、四肢),把这个建造...

2018-04-11 13:35:41 1089 1

原创 Java实现模板方法模式

10.3 提炼代码老师出一份试卷,打印多份,学生填写答案即可。 把试题和答案分享,抽象出分类,让子类继承,公共试题代码写在父类类中,即可。 但是这样的话,学生子类中还是有重复的代码,比如base.testQuestion1()等等。 所有重复的代码都应该要上升到父类去,而不是让每个子类都去重复。 场景: 当我们完成某一细节层次一直的一个过程或一系列步骤,但个别步骤...

2018-04-10 17:03:01 2673

原创 Java实现简单工厂模式

1.3 代码规范如果你想做一个计算器的话,是怎样操作的 C#实现的。和Java语法差不多 1.8 业务封装采用面向对象思想将业务计算逻辑和界面逻辑分开。 Operation类 这个只是运用了面向对象的封装。下面是实现继承和多态。 继承:public class Operation { private double numberA; priva...

2018-04-10 14:42:42 2949 1

原创 Java实现工厂方法模式

8.3 工厂方法模式实现将之前简单工厂实现的计算器以工厂方法模式去实现。 结构图 先构建一个工厂接口public interface IFactory { Operation createOperation();}加减乘除各建一个类去实现这个接口//加法类工厂class AddFactory implements IFactory { publ...

2018-04-10 14:35:59 2097

原创 Java实现代理模式

7.2 没有代理的代码(静态代理)追求者中间没有代理人,代理人可以代替追求者给女孩送花等。 现在没有代理人的代码 //追求者类class Pursuit { SchoolGirl mm; public Pursuit(SchoolGirl mm){ this.mm = mm; } public void giveDolls(){...

2018-04-10 13:19:55 405

原创 《高性能MySQL》阅读笔记-第7章 MySQL高级特性

7.1 分区表分区表是一个独立的逻辑表,底层由多个物理子表组成。实现分区的代码是对一组底层表的句柄对象的封装。 MySQL在创建表时使用PARTITION BY子句定义每个分区存放的数据。 分区一个目的就是将数据按一个较粗粒度分在不同表中。可以将相关数据存放在一起,如果想一次删除整个分区的数据也很方便。 分区表操作优点: 表非常大无法全部放在内存中,或在表的最后部...

2018-03-28 17:39:51 248

原创 《高性能MySQL》阅读笔记-第5章创建高性能索引

5.1 索引基础索引是存储引擎用于快速找到记录的一种数据结构。 索引能将查询性能提高几个数量级。 select first_name from actor where id=5;如果id列上建有索引,则mysql使用该索引找到id为5的行。先在索引上按值查找,然后返回所有包含该值的数据行。 如果索引包含多个列,列顺序也很重要,mysql只能高效使用索引的最左前缀列。 ...

2018-03-27 17:04:22 342

原创 第8章 虚拟机字节码执行引擎

8.1 概述执行引擎是Java虚拟机核心组成部分之一。 在不同虚拟机实现里,执行引擎在执行Java代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择,也可能兼备,可能还会包含几个不同级别的编译器执行引擎。 8.2 运行时栈帧结构栈帧: 用于支持虚拟机进行方法调用和方法执行的数据结构。是虚拟机运行时数据区中的虚拟机栈的栈元素。 ...

2018-03-20 09:36:32 173

原创 第7章 虚拟机类加载机制

7.2 类加载时机类生命周期 类从加载到虚拟机内存开始,卸载出内存为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载。 加载、验证、准备、初始化和卸载这5个阶段顺序是确定的,但解析不一定,某些情况可在初始化阶段之后开始,这是为了支持Java的运行时绑定。 什么时候开始类的加载? 虚拟机没有强制约束,但是对于初始化阶段有严格规定,有五种情况必须立即初始化,因此...

2018-03-20 09:31:04 121

原创 第6章 类文件结构

6.3 Class类文件的结构Class文件是一组8位字节为基础单位的二进制流,各个数据项目严格按顺序紧凑排列在Class文件中,中间没有任何分隔符。当遇到8位字节以上空间的,就按高位在前的方式分割成若干个8位字节进行存储。 Class中只有两种数据类型:无符号数和表 无符号数属于基本数据类型,u1、u2、u4、u8代表1个字节、2个字节、4个字节和8个字节的无符号数,它可以用来描述数...

2018-03-19 10:02:00 119

原创 第4章 虚拟机性能监控和故障处理工具

4.2 JDK命令行工具用工具进行处理数据,数据包括:运行日志、异常堆栈、GC日志、线程快照、堆转储快照等。 工具位置一般在bin目录下JDK监控和故障处理工具 名称 主要作用 jps 显示指定系统内所有Hotspot进程 jstat 收集Hotspot虚拟机各方面运行数据 jinfo 显示虚拟机配置信息 jmap 生成...

2018-03-16 14:12:43 235

原创 第3章 垃圾收集器和内存分配策略

3.2 对象是否死亡堆里存放几乎所有的对象实例,垃圾收集器对堆回收前,要判断对象中哪些是活着的,哪些不可能再被任何途径使用的对象。 3.2.1 引用计数算法给对象添加一个引用计数器,每当有一个地方引用它,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不能再被使用的。 但如果对象A和对象B都有instance,让A.instance=B和B.ins...

2018-03-16 14:06:21 160

原创 第2章 Java内存区域与内存溢出异常

2.2 运行时数据区方法区、堆、执行引擎、本地库接口 虚拟机栈、本地方法栈、程序计数器加粗是所有线程共享的数据区,其他是线程隔离的数据区 2.2.1 程序计数器是较小的内存空间,是当前线程执行的字节码的行号指示器。字节码指示器就是通过改变这个计数器的值来选下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等都需要这个计算器来完成。多个线程来回切换于处理器上,为...

2018-03-16 14:02:10 237 2

转载 java泛型中?和T有什么区别?

public static void printColl(ArrayList<?> al){ Iterator<?> it = al.iterator(); while(it.hasNext()) { System.out.println(it.next().toString()); }} ...

2018-03-01 13:59:34 1149

原创 04redis集群搭建

redis集群搭建集群新增和删除节点

2017-08-28 11:52:26 180

原创 03Redis主从复制和哨兵

redis高级命令介绍主从复制哨兵

2017-08-16 09:38:21 245 1

原创 02redis五种数据类型

redis五种数据类型的使用

2017-08-14 10:57:51 253

原创 01Redis的安装

redis的准备和安装

2017-08-11 14:12:48 198

原创 适配器模式

1. 适配器的原理火鸡冒充鸭子一个公司做鸭子产品,一个公司做火鸡产品。 如果火鸡公司想要做鸭子产品,通过火鸡适配器,让火鸡在外界的形象看起来就是鸭子,但内部所调用的东西都依然是火鸡的。 代码实现对象适配器 构造方法内传入的是需要被适配的那个对象 /** * 火鸡冒充鸭子 * Created by Administrator on 2017/6/...

2017-07-02 21:53:05 162

原创 设计模式之责任链模式

什么是责任链模式在生活中,责任链模式的实现比较多,比如说“击鼓传花”这个游戏,大家包围成一个圈,接连的传递这个花球。另外有个人在圈外负责击鼓时间到了花球就到了某个人的手里,这个人收到花球(请求),进而给大家唱歌或者别的什么的(响应) 再比如说去买房,首先来了一个普通购房者,和销售说,我全款买一套房,给我打个九折吧。销售知道九折在自己所在的权限范围内,便给买房子的人打了一个九折的优惠。然后...

2017-05-03 18:36:21 195

转载 java的动态代理机制详解

动态代理

2017-05-02 17:51:27 151

原创 设计模式之观察者模式的Java实现

什么是观察者模式摘自百度的解释 观察者(Observer)模式又名发布-订阅(Publish/Subscribe)模式。GOF给观察者模式如下定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 观察者模式的优缺点观察者模式的优点: 1.观察者模式实现了观察者和目标之间的耦合 2.观察者模式实现了动态联...

2017-04-28 16:41:11 325

原创 Java反射详解

Java反射详解

2017-04-20 09:49:47 326

原创 Socket实现TCP编程

TCPSocket

2017-04-10 19:08:43 306

原创 JavaSocket的API应用

JavaSocket API

2017-03-27 19:35:46 1406

原创 多线程4-线程状态与常用方法

线程状态和常用方法

2017-02-19 13:52:45 545

原创 多线程3-同步及生命周期

线程同步及线程的生命周期

2017-02-18 22:39:39 211

原创 多线程2-线程的优先级

线程的优先级

2017-02-18 11:33:27 215

原创 多线程1-线程和进程的实现

线程

2017-02-16 21:48:23 208

原创 数据库触发器

触发器MySQL数据库

2017-01-20 18:54:56 548

原创 数据库视图的使用

MySQL数据库视图

2017-01-20 10:36:02 591

原创 全文本搜索

全文本搜索布尔文本搜索

2017-01-19 18:58:50 300

nginx安装与使用操作手册

nginx安装与使用操作手册,一、安装Nginx,二、使用Nginx:简单与单台Tomcat整合,三、详细使用,四.配置tomcat集群负载均衡,五.其他配置信息文件说明

2017-09-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除