自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 JVM笔记一之JVM内存模型

Java虚拟机运行时数据区域        java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。JVM的数据区域,如下图所示。程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它...

2018-09-29 00:15:54 214

原创 Zookeeper学习笔记十二之 网络配置与集群配置

网络配置这些配置参数可以限制服务器和客户端之间的通信zookeeper.globalOutstandingLimit:ZooKeeper中待处理请求的最大值,ZooKeeper客户端提交请求比ZooKeeper服务器处理请求要快很多,服务端将会对接收到的请求队列化,最终可能导致服务端的内存溢出。为了防止发生这个问题,ZooKeeper服务端中如果待处理请求达到globalOutstan...

2018-09-27 21:09:51 1232

原创 Zookeeper学习笔记十一之 基本配置与存储配置

ZooKeeper基本配置          ZooKeeper服务器在启动时从一个名为zoo.cfg的配置文件读取所有选项,多个服务器如果角色相似,同时基本配置信息一样,就可以共享一个文件。data目录下的myid文件用于区分各个服务器,对每个服务器来说,data目录必须时唯一的,因此这个目录可以更加方便地保存一些差异化文件。服务器ID将myid文件作为一个索引引入到配置文件中,一个特定的Z...

2018-09-27 00:23:19 681

原创 Zookeeper学习笔记十之 异步实现主节点选举

异步实现主节点选举     Zookeeper中,所有同步调用方法都有对应的异步调用方法,通过异步调用,我们可以在单线程中同时进行多个调用,接下来实现一个异步实现主节点选举的例子       Zookeeper.create方法的异步调用版本       void create(String path, byte data[], List acl, CreateMode createM...

2018-09-23 13:11:49 253

原创 Zookeeper学习笔记九之 同步实现主节点选举

同步实现主节点选举       为了确保同一时间只有一个主节点进程处于活跃状态,我们使用ZooKeeper来实现简单的群首选举算法。这个算法中,所有的节点都尝试创建/master节点,但是只有一个成功,这个成功的进程成为主节点。接下来是代码实现        package com.my.service;import java.io.IOException;import jav...

2018-09-23 11:36:19 361

原创 Zookeeper学习笔记八之Java操作API

Java操作Zookeeper客户端API    Java操作Zookeeper的API围绕Zookeeper的句柄(handle)而构建,每个API调用都需要传递这个句柄,这个句柄代表与Zookeeper之间的一个会话。    创建Zookeeper句柄的构造函数如下   ZooKeeper zooKeeper=new ZooKeeper(String connectString,i...

2018-09-22 23:37:28 210

原创 Zookeeper学习笔记七之主从节点任务分配

主从节点任务分配     通过前面的学习持久节点和临时节点,我们知道可以通过建立持久节点和临时节点配合进行主从任务的分配,下面实现一个小小的例子     前提,已经安装好了Zookeeper服务端,运行zkServer脚本启动服务端,打开zkCli客户端连接到服务端进行操作。一 创建三个重要的父znode: /workers          /tasks          /assi...

2018-09-22 13:30:22 2081

原创 Zookeeper学习笔记六之版本号

版本号每一个znode都有一个版本号,它随着每次数据变化而自增。两个API操作可以有条件地执行:setData和delete。这两个调用以版本号作为转入参数,只有当转入参数的版本号与服务器上的版本号一致时调用才会成功。当多个Zookeeper客户端对同一个znode进行操作时,版本的作用就会显得尤为重要。例如,客户端C1对znode/config写入了一些配置信息,如果另一个客户端C2同时更新...

2018-09-22 12:09:29 1591

原创 Zookeeper学习笔记五之监控与通知

监控与通知Zookeeper通常以远程服务的方式被访问,如果每次访问znode时,客户端都需要获得节点中的内容。这样的代价就非常大。因为这样会导致更高的延迟,而且Zookeeper需要做更多的操作,例如下图中,第二次调用getChildren /tasks返回了相同的值,一个空的集合,是没必要的这是一个常见轮询问题,为了替换轮询问题,ZK选择了基于通知(notification)的机制...

2018-09-22 09:34:26 683

原创 Zookeeper学习笔记四之持久节点和临时节点

持久节点和临时节点      znode节点可以是持久(persistent)节点,还可以是临时(ephemeral)节点。持久节点node,如/path 只能通过delete命令进行删除,而临时节点相反,当创建临时节点的客户端崩溃或者关闭了与Zookeeper的连接时,这个节点就会被删除持久节点持久znode是一种很有用的znode,可以通过持久znode保存一些应用数据,即使zno...

2018-09-20 23:21:06 11693 1

原创 Zookeeper学习笔记三之API概述

ZookeeperAPI暴露方法create /path data:创建一个名为/path的zode节点,并包含数据datadelete /path :删除名为 /path的节点exists /path: 检查是否存在名为/path的节点setData /path data: 设置名为/path节点的数据信息getData /path 返回名为/path节点的数据信息get...

2018-09-20 22:58:22 181

原创 Zookeeper学习笔记二之基础

Zookeeper基础    很多用于协作的原语常常在很多应用之间共享,因此,设计一个用于协作需求的服务的方法往往是提供原语列表,暴露出每个原语的实例化调用方法,并直接控制这些实例。比如我们可以说分布式锁机制组成了一个重要的原语,同时暴露出创建(create)获取(acquire) 和释放(release)三个调用方法,这种设计存在一个缺陷,要么提供一份详细的原语列表,要么提供API的扩展,以...

2018-09-19 00:05:45 159

原创 Zookeeper学习笔记一之简介

笔记摘自《ZooKeeper分布式过程协同技术详解》,看了一部分,个人认为对ZK学习有很大帮助。一 Zookeeper使命       关于Zookeeper的讨论都围绕着一条主线,它可以在分布式系统中协作多个任务。一个协作任务是指包含多个进程的任务。这个任务可以是为了协作或者是为了管理竞争。协作意味着多个进程需要一同处理某些事情,一些进程采取某些行动使得其他进程可以继续工作。比如典型的主...

2018-09-18 23:14:54 165

转载 Redis学习笔记二之五种数据结构

取自https://www.cnblogs.com/yuhangwang/p/5817930.html (蛋疼,自己写了两个小时,一个误操作全不在了,直接截取原博客作笔记了,已备工作需要时查看)一 简介Redis是一种Key-Value结构的结构数据库,Redis的Value有字符串(String),列表(List),哈希(Map),集合(Set),有序集合(Sort Set) 五种类型,...

2018-09-18 23:12:03 118

原创 Redis学习笔记一之简介

最近觉得博客园的质量不错,转战博客园记了一段时间的笔记,同步搬运笔记到CSDN,作为工作需要时的参考笔记。一 简介        Redis是一款由Salvatore Sanfilippo开发,基于BSD开源协议,可基于内存也可进行持久化(可每隔一段时间将数据持久化到磁盘)的Key-Value结构的结构数据库,Redis的Value有字符串(String),列表(List),哈希(Map)...

2018-09-18 23:10:25 110

原创 并发知识学习

一 任务阻塞的可能原因 1:调用了sleep,线程进入休眠状态,在指定时间内不会允许 2:调用wait()将线程挂起,直到线程得到了notify()或者notifyAll()的消息(或者在java.util.concurrent类库种等价的signal()或signalAll()),线程才会进入就绪状态 3:任务在等待某个输入/输出完成 4:任务试图在某个对象上调用...

2018-09-18 23:06:45 122

原创 (五)从零搭建maven项目之dubbo配置

小感慨:打个小盹又是一个月,来公司也不知不觉的一年半了,一起来的同学吧,都走得差不多了,还剩我和两个妹子在坚守,外包公司就是留不住人啊,当初一起来的七个人,现在只剩3个了。最近也是根据网上教程和dubbo.io的教程将dubbo+zookeeper服务搭建了起来。网上的教程呢对于新手来说不友好的地方就是没有源码,很多人可能遇到一点解决不了的问题就放弃了。所以本篇文章主要分享源码地址和学习路径。

2018-01-11 23:50:44 283

原创 (四)从零搭建maven+spring+mybatis项目之mybatis与事务配置

Java技术交流欢迎加群:587691476感言:时间贼快,最近一直懒着,一下子就是一个月过去,本地Mybatis搭配已经完成,搭配之前博客分享一下。1、spring+数据源+mybatis+事务配置<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/

2017-12-06 00:26:33 321

原创 (三)从零搭建maven+spring+mybatis项目之spring配置

Java技术交流欢迎加群:5876914761、引入spring jar包        前面web项目已经创建完毕,现在开始配置spring相关jar包到项目中,现在使用的是maven项目,那导入包就不必再像以前那样引入,直接在pom.xml文件中引入即可,引入路径去http://mvnrepository.com/ 查找,将引入路径拷贝到pom.xml中即可。下面为pom.xml文件配

2017-11-02 23:36:13 288

原创 (二)从零搭建maven+spring+mybatis项目之web项目创建

Java技术交流欢迎加群:5876914761、打开eclipse  File->new->选择Maven project2、选择maven-archetype-webapp点击next3、填写GroupId和Artifact IdGroup Id是我们整个项目组的ID(后续详细补充),Artifact Id是该的项目名称,关于这两个的含义,网上的讲解基本上都很抽象,看了不

2017-10-31 23:03:26 309

原创 (一)从零搭建maven+spring+mybatis项目之maven安装与本地库设置

Java技术交流欢迎加群:587691476一、简介这将是一个系列教程,也是本人工作一年多来第一次去系统的做东西,也是第一次做教程之类的东西,每天下班回家尽量多写点东西,尽量提高写作质量,将自己所学记录下来。为这个社会做一点微薄的奉献。二、maven的安装与本地库设置(基于windows系统)(1)maven安装到 http://maven.apache.org/downloa

2017-10-31 21:19:48 321

原创 实用小工具slickrun安装与实用介绍

1、slickrun简介 SlickRun 是一款32位的浮动命令行实用工具,为你提供了几乎可以立即访问你的计算机上的任何程序的功能。你可以设置程序别名,直接输入别名即可启动程序,还你一个干净的桌面 2、下载与安装 到https://bayden.com/SlickRun/ 选择下载,下载后直接点击.exe程序进行傻瓜式安装,一路往下点,可以自由选择安装路径。安装成功后电脑桌面出现slickr

2017-10-30 23:27:13 1304

原创 Mysql中常用sql语句

1、SET SQL_SAFE_UPDATES=0; 有时候不用主键为查询参数进行操作会报错误,Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the

2017-06-15 22:30:05 213

原创 计算机网络之数据链路层(笔记)

一、数据链路层属于计算机网络的底层,数据链路层使用的信道主要有以下两种类型 (1)点对点信道:使用一对一的点对点通信方式 (2)广播信道:使用一对多的广播通信方式,过程比较复杂,广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。1、使用点对点信道的数据链路层 链路:从一个结点到相邻结点的一段物理线路(有线或无线) 数据链路:物理线路加上必要的通信协议 数据链

2017-05-03 23:42:21 634

原创 Ubuntu 16.04下安装JDK教程

一 检测是否已安装JDK       CTRL+ALT+T  打开终端,输入java -version    未出现JDK相关信息,说明系统未安装JDK   一 下载JDK    下载网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,选择L

2017-03-14 00:10:00 506

原创 创建单例Singleton的三种方式:懒汉式、饿汉式、枚举类

一、什么是单例 Singleton是指只实例化一次的类,系统中只存在一个该类的实例,就好像一个国家只能同时存在一个总统,多了得乱啊。比如说美国总统这个类在上一个运行期实例化出了巴马总统。而在下一个运行期又重新实例化出一个特朗普总统。二、创建单例的三种方式 (1)懒汉式单例,顾名思义,这个单例比较懒,我不来调用getInstance()方法,它就不会进行实例化。懒汉式单例1.0public cla

2017-02-28 20:53:20 694 1

原创 百度webuploader点击反应太慢解决方案

一、问题原因 百度 webuploader有使用的在进行图片上传的时候可能都遇到过打开太慢的问题,打开需要几秒,确实很老火。其实问题就在于我们打开的时候默认检索了所有格式的文件,导致了打开慢,在webuoloader上传源码中找到检索代码就了解了,下面是百度源码 accept: { title: 'Images',

2017-02-21 11:51:20 2123

原创 MySQL Workbench下数据库备份与恢复详解

一、登录数据库,找到Data Export 二、1、在左边选择自己要导出的数据库 2、选择数据库下要导出的表 3、选择导出位置 4、开始导出 三、导出后的数据 四、数据库恢复

2017-02-21 11:40:30 7400 3

原创 Java 中带竖线 | 字符串分离 方法

问题: 今天在项目中遇到一个问题,String a=”A|B|C|D|E|” 怎么通过 | 分离成数组 String b[]={A,B,C,D,E} 开始时我直接使用a.split(“|”) 输出结果 好吧,直接这样写不行,”|”是正则表达式逻辑或 下面附正确写法,a.split(“[|]”) String a = “A|B|C|D|E|”;

2017-02-20 22:48:39 3659 1

原创 "Project is not a Java project" 之新建Maven项目遇到问题解决方案

Java技术交流欢迎加群:587691476今早没事在eclipse折腾下Maven,但是新建Maven项目后不能建立java文件名的Source floder文件夹,然后说根据网上教程去Project Facets中勾选动态web项目,没想到竟然连Project  Facets都没有。好吧,这才明白,我用的Eclipse不是 Java EE的!!!这公司的电脑原来使用的兄弟下了好多版本的Ec

2017-02-17 14:43:28 11296

原创 冒泡算法详解及与插入算法区别

冒泡排序:从字面上理解,就好像水里的气泡,大的慢慢冒出来,小的沉下去。而冒泡排序的核心思想就是通过循环数组,将数组分为已排序和未排序数组,然后遍历循环未排序数组,将未排序数组中最大或者最小的加入到已排序数组中,直至未排序数组消失。最后得到一个有序数组。下面看一组数组演示:int a[]={1,5,3,7,4,9,}(从大到小排序)因为数组循环遍历,每次比较出合适的数,所以最后剩余的肯定是在

2017-02-15 15:27:56 1779

原创 插入排序加二分排序详细讲解(附代码)

插入排序:从字义上理解,这是一组不断进行插入的排序,正确! 插入排序其实就是一个插入+顺序部分排序的过程。下面举个例子给讲解一下(从小到大排序)一个数组:int a[]={1,3,2,7,5,4,8} 是长度为7的数组, 在进行插入排序的过程中呢我们需要循环6次默认:已排序数组{1}    未排序数组{3,2,7,5,4,8,}=第一次循环:插入a[1]  a[1]>a[0] 已排序数

2017-02-14 23:07:16 4722 3

原创 SpringMvc 中HandlerInterceptorAdapter类使用

在SpringMvc中一般都是用Filter拦截浏览器的请求,但是为了实现更精准化的拦截可以通过继承HandlerInterceptorAdapter适配器类来实现。HandlerInterceptorAdapter是一个抽象类,类中定义了三个方法,通过重写父类的方法实现精准拦截 public abstract class HandlerInterceptorAdapter implem

2017-02-14 09:32:27 2070

原创 Java多线程之终结任务

在某些情况下,线程必须被突然终止,比如线程阻塞等情况。线程分为4个状态:(1)新建,就相当于一辆刚刚被制造出来的汽车,此时它已经被分配了必要的系统资源,并执行了初始化,此时的汽车已经有资格上路,而线程呢也有资格获取CPU的时间,之后就等待调度器将线程变为运行或阻塞状态。(2)就绪:此时汽车已经加好油,准备就绪,只等待驾驶员来开车,而线程在这种状态下呢,只要调度器将CPU时间片分配给线程

2017-02-04 22:16:54 420

原创 并发编程学习笔记(一)

如果想要一个程序运行得更快,那么可以将其断开为多个片段,在单独的处理器上运行每个片段,并发是用于多处理器编程的基本工具。如果你有一个多处理器机器,那么就可以在这些处理器之间分布多个任务,从而可以极大的提高吞吐量。但是并发通常是提高运行在单处理器上的程序的性能。在单处理器上运行得并发程序开销确实应该比该程序的所有部分都顺序执行开销大,因为其中增加了所谓的上下文切换的代价。而使这个问题变得不同的是阻塞

2017-01-18 20:44:58 241

原创 NIO学习笔记

JDK1.4的java.niol.*包中引入了新的Java I/O类库,其目的在于提高速度,实际上,旧的I/O包已经使用nio重新实现过。以便充分利用这种速度提高。所以不用显式地nio编写代码,也能从中受益。速度的提高来自于所使用的结构更接近于操作系统执行I/O的方式:通道和缓冲器,我们并没有直接和通道进行交互。我们只和缓冲器交互,并把缓冲器派送到通道,所以,通道要么从缓冲器获得数据,要么向缓冲器

2017-01-17 20:00:34 295

原创 终结处理和垃圾回收器如何工作

5.5 清理:终结处理和垃圾回收      Java有垃圾回收机制负责回收无用对象占据的内存资源。但是也有特殊情况,加入对象不是并非使用new获得一块特殊的内存区域,由于垃圾回收器只释放那些经由new分配的内存,所以它不知道该如何释放该对象的这块“特殊”内存。为了应对这种情况,Java允许在类中定义一个名为finalize()的方法,工作原理:一旦垃圾回收器准备好释放对象的占用的存储空间,将首

2017-01-10 20:09:14 287 1

原创 SrpingMVc @ResponseBody返回中文乱码解决方法

引起乱码原因为spring mvc使用的默认处理字符串编码为ISO-8859-1,具体参考org.springframework.http.converter.StringHttpMessageConverter类中public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");

2016-12-27 15:50:30 246

原创 详读List,Map源码心得笔记

初学Java时,接触得最早的就是List,Map,Set。进入工作后在程序中经常用到的有List和Map。今天闲来无事做,看看List和Map源码,记录一些学习笔记。从代码上看 public interface List<E> extends Collection<E>,public interface Set<E> extends Collection<E>。List,Set接口是继承了Collection<E>接口。通过查看Collection类源码,发现里面定义了一些方法int size()

2016-07-21 18:27:51 315

最新windows版本Redis服务端

最新版本的redis服务端,由微软团队进行维护,下载需要去github网站。

2018-06-01

metaq-server-1.4.6.2客户端+服务端

metaq-server-1.4.6.2服务端+客户端+javadoc文档,打包于一个压缩包

2018-05-24

JAVA编写的简单记事本

一个JAVA编写的课堂小作业.适合JAVA新手入门学习。图形界面学习基础。

2013-11-14

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

TA关注的人

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