7 2018Frank

尚未进行身份认证

绝对不甘于平庸。

等级
TA的排名 11w+

设计模式之-建造者模式

目录 概述 建造者模式包含以下4个角色:Builder(抽象建造者)ConcreteBuilder(具体建造者)Product(产品)Director(指挥者)实例代码(1) Actor:游戏角色类,充当复杂产品对象(2) ActorBuilder:游戏角色建造者,充当抽象建造者(4) AngelBuilder:天使角色建造...

2019-07-10 17:32:32

JDK为我们提供的jvm性能监视工具

jps jps是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。 很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程以及进程id。jps 也是一样,它的作用是显示当前系统的java进程情况及进程id。我们可以通过它来查...

2019-07-03 09:30:25

垃圾收集器与内存分配策略

在堆里面存放着java世界中几乎所有的对象,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中那些还存活着,那些已经死去。如何判断对象是否存活? 引用计数法 概念引用计数法就是如果一个对象没有被任何引用指向,则可视之为垃圾。这种方法的缺点就是不能检测到环的存在。首先需要声明,至少主流的Java虚拟机里面都没有选用引用计数算法来管理内存。什么是引用计数算法:给对...

2019-07-01 17:33:01

java设计模式之工厂方法模式

 目录1.0 ●工厂方法模式概述1.1 ●工厂方法模式的定义1.2 ●工厂方法模式的结构1.3 ●实例说明1.3.1 ●实例代码分析1.3.2 ●结果及分析1.4 ●工厂方法的重载1.5 ●工厂方法的隐藏1.6 ●模式优点1.7 ●模式缺点1.8 ●模式适用环境1.0 ●工厂方法模式概述✓不再提供一个按钮工厂类来统一负责所有产品的创建,而是将...

2018-10-23 10:41:27

java设计模式学习之简单工厂模式

目录 1.0 ●创建型模式(Creational Pattern)2.0 ●简单工厂模式2.0.1 ●简单工厂模式的定义2.0.2 ●简单工厂模式的结构2.0.3 ●实例说明2.0.4 ●实例代码3.0 ●模式优点4.0 ●模式缺点5.0 ●模式适用环境1.0 ●创建型模式(Creational Pattern)●创建型模式(Creational P...

2018-10-22 14:22:16

java线程的取消与关闭

目录1.任务取消    1.1通过volatile类型的域来保存取消状态1.2通过future的cancel取消线程1.3使用interrupt()方法中断当前线程 1.4使用shutdown()和shutdownNow() 1.4.1shutdown() 1.4.2 shutdownNow()1.5使用stop方法终止线程 2.停止基于线程的服务...

2018-09-12 22:08:56

剖析java单例模式

目录1.单例模式概述2.单例模式的实现2.1单例模式--之饿汉模式 2.2单例模式--懒汉模式2.3使用静态内部类实现单例模式3.单例模式应用实例4.单例模式适用环境1.单例模式概述        单例模式是结构最简单的设计模式,在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以确保系统中的一个类只有一个实例而该实例易于被外界访问,从而方便对实例个...

2018-09-06 22:16:45

java并发编程之Executor

目录Executor为每一个请求启动一个新线程的Executor以同步的方式编写类似于单线程的行为线程池   newFixedThreadPoole  newCachedThreadPoolo newSingIeThreadExecutoro newScheduledThreadPoolo 线程生命周期的开销非常高,资源消耗高,稳定性不好。每当看到下面这种形...

2018-08-30 21:56:30

linux下zookeeper集群搭建

目录1.前提2.配置主机名到IP地址的映射3.修改zoo.cfg配置4.新建myid文件并写入集群标识5.在另外两台机器进行相同操作6.查看集群状态配置结束 接着上一篇博客linux下zookeeper单机搭建,本篇进阶一下,利用三台机器进行集群操作。保证高可用。 1.前提作者默认读者已经准备好了三台不同ip的机器或者虚拟机,并且都已经安装好jdk,li...

2018-08-21 15:34:46

linux java7升级到java8

1.第一步先卸载所有老的jdk版本目录1.第一步先卸载所有老的jdk版本2.第二步安装新版本 rpm-qa|grepjdk使用rpm-e--nodeps命令删除上面查找的内容: rpm-e--nodepsjava-1.6.0-openjdk-devel-1.6.0.38-1.13.10.0.el6_7.x86_64全部删除完之后,再检查一...

2018-08-16 17:05:24

linux下zookeeper搭建以及java client调用

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。本帖没技术难度,最近在巩固zk这一块,记录下日后参考。 1.在linux上安装最新的zookeeper  http://mirro...

2018-08-16 16:11:38

纯手写SpringMVC框架,常用注解实现springMvc过程

当你迷茫不知道学什么技术的时候,你是否想到将时间花在研究分析经典的开源框架上,springMvc这么经典的成熟框架里面用到了大量的设计模式,优雅的代码很值得你深入去学习,学习大师的编码思想和设计模式,学习源码是提高自己代码编写的最佳方式。废话不多说,我们现在开始手写一个做java开发人人皆知的springMvc框架。 博客原代码地址:https://gitee.com/nanjun...

2018-08-13 21:00:14

浅谈java虚拟机运行时数据区

 1.1程序计数器        程序计数器是一块较小的内存空间,他可以看做是当前线程执行字节码行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。       由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一...

2018-08-09 14:52:45

分布式文件管理系统FastDfs+nginx+fastdfs-nginx-module搭建+java实现文件上传,http查看下载。

现在的项目是个老项目,项目里的附件上传都是放在项目tomcat下,这样很乱影响业务系统性能还不便于迁移维护,空闲之余决定在linux上搭建一个分布式文件管理系统管理附件。这里选择了国产开源大名鼎鼎的的fastDfs。   本帖没有什么技术含量都是按照教程,记录备忘而已下面开始。需要下载的工具下载地址:fastdfs-5.05下载地址libfastcommon-1.0.7下载地址fastdfs-ng...

2018-07-12 17:36:02

linux redHat mysql5.1升級到5.7过程。

最近准备升级一下mysql版本由于之前使用的是5.1有些老了,准备升级到5.7,于是在测试环境进行升级测试,在这里记录下我操作的过程,免得多年后再用的时候到处百度,也供网友参考。分以下4个大步骤1.备份老的mysql数据库2.完全卸载干净老的mysql数据库,并安装新的mysql5.73.恢复数据好了思路清晰我们就开始吧,下面我们开始备份老的数据库。我们是一个细心给足自己后路的人,所以这里我们把好...

2018-07-11 13:22:59

linux RedHat6.5 mysql卸载与安装

1.下面我们开始给测试服务器10.137.X.X安装mysql安装环境:RedHat6.5 第一步:下载 下载MySQL5.7:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar安装前检查服务器是否已安装MySQL,如已安装则将其卸载:[root@worker1 tmp]# rp...

2018-07-11 11:14:36

linux mysql主从模式搭建,读写分离实现。

想拥有qps高的服务器怎么做,想淘宝那样的大型企业级电商,在双十一每秒几百万请求下也都稳如泰山,当然淘宝用到了很多顶尖技术解决高并发让服务器高可用,你可能会想到使用好的技术架构,页面缓存,非关系型是数据库,分布式 负载均衡等。但这些是远远不够的,因为往往导致qps提不上去的根本瓶颈就在mysql数据库,所以搭建mysql主从进行读写分离等很有必要,废话不多说现在开始搭建配置。   最近准备...

2018-07-09 17:43:14

SpringBoot 中配置拦截器 WebMvcConfigurerAdapter 方法过时带来的新问题

最近在写一个商品秒杀的小demo,用的是springBoot2.0.2在进行拦截器配置的时候用的是WebMvcConfigurerAdapter,继承springBoot默认提供的WebMvcConfigurerAdapter类,但是在idea上提示方法已过时,于是通过查找资料用新的方法WebMvcConfigurationSupport代替,这样idea不提示过时了。   但是这样会引来新的问题...

2018-06-22 09:44:21

springBoot整合redisCluster(redis集群)模式。

最近准备弄一个springBoot电商秒杀的demo项目,在搭建后台框架时,非关系型数据库准备整合redis,之前用的是单机版,因为是电商demo后面用jmeter压力测试的情况下效果可能不好,于是想试试redisCluster集群模式,看看并发qps变化效果,在网上看了很多博客吸取到了很多干货,但是很多都不全只是写了代码这块怎么整合的例子,并没有指出redis部署集群的教程,所以摸索成功之后觉得...

2018-06-15 16:25:59

微信支付生成签名sign

签名生成的通用步骤如下:第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。特别注意以下重要规则:◆ 参数名ASCII码从小到大排序(字典序);◆ 如果参数的值为空不参与签名;◆ 参数名区分大小写;◆ 验证调用返回或微信主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验。◆ 微信接口可能增加字段,验证

2016-11-03 09:03:24
勋章 我的勋章
    暂无奖章