自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

曾经沧海难为水的博客

人类不过是宇宙中的尘埃,尘埃不过是外星人家中的卫生死角

  • 博客(44)
  • 资源 (20)
  • 论坛 (2)
  • 收藏
  • 关注

转载 不积跬步无以至千里,不积小流无以成江海

君子曰:学不可以已。  青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木直中绳,輮(煣)以为轮,其曲中规。虽有(又)槁暴(曝),不复挺者,輮(煣)使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。  故不登高山,不知天之高也;不临深溪,不知地之厚也;不闻先王之遗言,不知学问之大也。干,越,夷,貉之子,生而同声,长而异俗,教使之然也。诗曰:「嗟尔君子,无恒安息。靖共

2017-06-15 10:21:40 4909

原创 【近期状态】

最近一年都很忙,很久没有更新技术博客了。之前写的jvm也夭折了。实在没有时间在更新这些了。最近想用业余时间做一点有意思的东西,然后在github上开源,嗯嗯,希望能尽快做完。。对于在文章中评论的朋友们,没有时间一一评论。先抱歉了。我看了一下red5那篇文章的问题最大。因为是很早以前搭建的一个demo我现在也没有环境能给你们再解决了。。。不过如果按照我的文章正常情况下是没有问题的...

2018-12-13 10:07:38 103

原创 JVM - 3. Java对象创建那点事与内存布局

创建与分配方式创建一个对象的方法有很多但在程序层面最终都指向了new。 通常创建一个对象会通过new指令,看是否能在常量池匹配到一个符号引用,再去检查是否有类加载,如果没有则进行类加载过程。 @@>>>符号引用 @@>>>类正常来说创建一个都是堆上分配,但是在前面我们也说过因为JVM优化(逃逸分析),会有堆上分配的情况,具体看下面例子。class A{ //User us

2018-01-12 16:47:34 368

原创 JVM - 2. java堆栈里面到底有什么

在虚拟机自动内存管理机制的帮助下, 不容易出现内存泄漏和内存溢出问题不过, 也正是因为把内存控制的权力交给了Java虚拟机如果不了解虚拟机是怎样使用内存的, 那么排查错误将会成为一项异常艰难的工作。运行时数据区 Java虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。还有一些则是与线程一一对应,他们的生命周期也随着

2017-12-27 10:55:35 775

原创 JVM - 1. Java虚拟机梗概,那些你不知道的VM

虚拟机梗概JDK Java程序设计语言、 Java虚拟机、 Java API类库这三部分统称为JDK(Java Development Kit),JDK是用于支持Java程序开发的最小环境JRE Java API类库中的JavaSE API子集、Java虚拟机这两部分统称为JRE(Java Runtime Environment),JRE是支持Java

2017-12-27 10:04:04 688

原创 JAVA虚拟机(JVM)及相关技术体系

JAVA虚拟机(JVM)及相关技术体系JVM - 1. Java虚拟机梗概,那些你不知道的VMJVM - 2. java堆栈里面到底有什么JVM - 3. Java对象创建那点事与内存布局JVM - 4 更新中... 参考资料《深入理解Java虚拟机 jdk1.7》《Java虚拟机规范 jdk1.8》  https://wiki.openjdk.java.net/display/HotSpot/C...

2017-12-27 09:33:43 212

原创 Fork/Join的应用

Fork/JoinJDK1.7开始提供的在JUC包下的并行任务框架。在多核机器上有显著的效果,主要核心工作窃取 拥有工作窃取算法,空闲线程会帮助其他有任务的线程处理任务队列应用概述查询某个文件夹路径下容量最大的文件常用方法:1. 单线程依次遍历每层目录及文件,记录并对比文件大小    写法简单,效率不高2.多线程线程池遍历每层目录及文件   线程

2017-12-21 14:31:05 765

原创 JAVA NIO 概述及例子

JAVA NIO 简单概述异步非阻塞,基于Reactor模式为核心。#将关注的事件注册到selector当事件发生selector会反馈事件给注册者#java 如何实现的selectorSelector.open(); //打开多路复用器//获取selector//通过源码可见线程安全且唯一 public static SelectorProvider provi

2017-11-07 16:33:23 245

原创 HTTPS握手过程与对称加密、非对称加密

前言这篇文章完全是用processon画的,processon蛮方便的正文

2017-09-20 16:21:04 983

原创 Java内存模型(JMM)

前言拜读《深入理解JAVA内存模型》后提升了对JMM的更多理解。在此文中进行一个偏白话总结归纳,当然也加入了一些自己的东西。深入理解JAVA内存模型.pdf 下载同步与并发线程并发编程模型有那两个?在我们多线程并发编程的时候,总会遇到为什么线程之间如何同步?线程之间如何通讯?共享内存并发模型顾名思义,共享内存模式,就是线程之间

2017-09-15 16:00:24 307

原创 JUC系列之模拟抢票(N人同时抢票,票不足系统补仓,N-M人继续抢票)

前言10.1要去苏州玩。9月初去携程买票,发现过几天才放票现在可以预约抢票。用户流程 : 选票 -> 选预约 -> 选抢票类型极速/快速/免费  -> 支付票价和抢票费用  -> 自动帮抢票携程这个流程我猜测是(当然我没有做过和12306或什么票务接口对接的工作  ) 记录用户选票类型和票信息,等放票的时候通过接口调用买票这个接口可能是多次提交或提交一次设定

2017-09-08 12:49:04 766

原创 JUC系列之CyclicBarrier/CountDownLatch/Semaphore

CyclicBarrier同步屏障,如果有人问你如何让N个线程同时之行某件事,请告诉他CyclicBarrier那么他是如何来确保这一点的呢?通过await使所有线程进入barrier。当达到预设计数器或await timeout 条件时,所有await线程开始继续执行结合场景来说,今天我们要去抢火车票。我们为了公平起见,告诉大家今天中午12点开始放票,大家都在12点以前进

2017-09-07 23:19:49 577

原创 (java)六种常见排序

源码下载 1.冒泡排序package com.algorithm.sort;import com.algorithm.utils.Data;import com.algorithm.utils.DataType;import com.algorithm.utils.annotations.Alias;import com.algorithm.utils.annotatio

2017-09-06 16:13:52 377

原创 SpringMVC IOC DI接口版本管理(迭代版)

前言之前写过一篇文章SpringMVC 接口版本管理/IP访问控制/ANT打包发布到LINUX 后来总觉得其中DI,IOC管理没有贯彻下来,主要原因是以为中间用了反射,来对Controller进行调用,反射又脱离了spring动态代理的生态体系。最近针对此方面做了一定的修改和调整。如果对下面内容不理解请先看上面所述的文章修订Controller请先打开上面所述文章的实例,

2017-08-04 13:35:45 698 3

原创 dubbox + springMVC

公告 Dubbo开源项目将得到官方重点维护,我们期待这个优秀的开源项目在未来持续保持活力,引领开源服务框架 Alibaba Dubbo Team 2017.07.31

2017-08-01 17:23:16 859

原创 java socket BIO (ServerSocket,Socket,多线程)

Java Socket今天给同事写了一个socket bio的demo让他来测试用,顺便分享给大家,希望可以帮助正在学习和了解java bio的新人们java.net.socket 是java中最基本的socket bio实现方式。本例实现了多人互动广播Server端import java.io.BufferedReader;import java.io.IOExce

2017-07-20 10:11:39 742

原创 浅读java.util.Map及其实现类(五)

WeakHashMap与HashMap强引用,弱引用,软引用,虚引用PhantomReference 虚引用SoftReference 软引用WeakReference 弱引用

2017-06-29 14:55:38 325

原创 浅读java.util.Map及其实现类(四)

ProviderRenderingHintsSimpleBindingsTabularDataSupportTreeMapUIDefaultsWeakHashMap

2017-06-28 15:02:09 549

原创 浅读java.util.Map及其实现类(三)

ConcurrentHashMap源码分享解析 //CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配, //那么处理器会自动将该位置值更新为新值。否则,处理器不做任何操作。无论哪种情况, //它都会在CAS指令之前返回该位置的值。CAS有效地说明了“我认为位置V应该包含值A;如果包含该值,则将B放到这个位置; //否则,不要更改该位置,只告诉我这个位置现在的值

2017-06-27 16:08:37 512

原创 浅读java.util.Map及其实现类(二)

AbstractMap*Attributes*AuthProvider*ConcurrentHashMap*ConcurrentSkipListMap*EnumMap*HashMap*Hashtable*IdentityHashMap*LinkedHashMap*PrinterStateReasons*Properties*

2017-06-20 16:05:08 710

原创 浅读java.util.Map及其实现类(一)

Map概述 & map java8 method & BigFunction/ Function

2017-06-14 16:52:38 1173

原创 nginx 多组件安装及secure_link配置与文件下载防盗链的使用(JAVA)

前言防盗链的重要性无需多言,nginx本身提供了secure_link来完成防盗链功能,那么java如何来与secure_link交互呢?安装nginx#下载nginx 到 /softwaretar xzvf nginx.tar.gz#进入nginx 目录./configure .make & make install 安装nginx secure_link./con

2017-06-07 16:29:16 4033 3

原创 SpringMVC 接口版本管理/IP访问控制/ANT打包发布到LINUX

前言最近懒了很多也忙了很多,好多东西没办法分享到blog,因为知识点比较杂,没有时间整理。写这篇文章主要原因是,因为遇到了同样的问题,但是网上没有很好的解决方案于是自己解决后,分享给大家   源码在csdn download文章尾部可以下载概述1.springMVC 多版本接口 2.接口有IP访问控制3.支持jsonp4.log发送到email

2017-05-25 15:54:38 2234

原创 ngxin-rtmp-module 搭建及rtmp & hls 配置简单分享

安装nginx#Nginx安装网上一搜一堆,其实就是下载nginx后 tar zxvf解压然后./configure 看看缺什么,然后yum imstanll什么。最后省事一些注册到系统服务(/etc/init.d/nginx 配置文件网上一堆)#基础组件yum install -y pcre pcre-devel yum install -y zlib zlib-devel

2017-05-19 12:04:13 1231 1

原创 分享一下最近对直播的研究red5 nginx-rtmp-module rtmp hls m3u8 ts

Red5red5 之前在google停更了很久,现在在github上频繁更新,但是对HLS支持需要用red5 pro(收费的)red5 依赖 red5 server(其实是在tomcat上进行开发的)red5 project 通过red5的eclipse插件可以轻松创建,当然如果熟手的话手动创建也是没有问题的,暂时遇到的坑也就是HLS不支持和libs的问题了red5

2017-04-27 12:22:36 5902

原创 Red5+SpringMVC整合(RTMP+HTTP)搭建你的直播服务器

Red5的主要功能和Macromedia公司的FMS类似,提供基于Flash的流媒体服务的一款基于Java的开源流媒体服务器。它由Java语言编写,使用RTMP作为流媒体传输协议,这与FMS完全兼容Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框

2017-04-10 11:22:40 40800 20

原创 centos下安装openmeetings

OpenMeetingsOpenMeetings是一个多语言可定制的视频会议和协作系统。它支持音频、视频,能让你查看每个与会者的桌面。OpenMeetings还包含一个白板,通过白板可以导入各种格式的图片和涂鸦。官网http://openmeetings.apache.org/  下载 http://openmeetings.apache.org/downloads.htm

2017-03-15 15:00:41 4965 3

原创 设计模式之-两阶段终止模式(Two-Phase Termination Patter)模式

首先两阶段终止模式不是23种传统设计模式中的,它是由黄文海在《Java多线程编程实战指南 设计模式》中所提到的模式,现一共可归纳为36种设计模式当我们想要结束一个线程或者关闭jvm的时候,通过此模式可以优雅安全的关闭线程,让线程可以完成它本应完成的当前任务并可以附加一些收尾工作后再进行关闭此模式下关闭线程会有一定延迟,主要在于被关闭线程需要执行完后,再进行关闭首先Java jdk中

2017-02-23 13:13:47 2254

原创 Thread.interrupt 快速解读

特性        [Interrupt为什么有时候有用,有时候没用呢。]Interrupt设置一个线程为中断状态Interrupt操作的线程处于sleep,wait,join 阻塞等状态的时候,会抛出一个InterruptedExceptionInterrupt操作的线程在可中断通道上因调用某个阻塞的 I/O 操作(serverSocketChannel. accept()、so

2017-02-23 10:26:30 3083

原创 设计模式之-观察者(Observer)模式

观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。我们可以把他看做简单的事件驱动实现方式 创建订阅

2017-02-16 13:55:44 253

原创 设计模式之-迭代器(Iterator)模式 + 建造者(Build)模式

迭代器(Iterator)模式 又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。 从定义可见,迭代器模式是为容器而生。很明显,对容器对象的访问必然涉及到遍历算法。你可以一股脑的将遍历方法塞到容器对象中去;或者根本不去提供什么遍历算法,让使用容器的人自己去实现去吧。这两种情况好像都能够解决问题。建造者

2017-02-16 11:31:45 216

原创 nwjs 0.19打包exe

首先0.12以后版本原因打包方式依赖内容都不同了。 这里我找到一个最简单快捷的方式 打包工具 Inno Setup 图标更改工具ResHacker(这里下载angusj.com) 1. 从下载nwjs 2. 这里我使用的是nwjs-v0.19.5-win-x64 或sdk版 3. 在D盘建立abc目录 4. 将nwjs-v0.19.5-win-x64内文件全部c

2017-01-17 15:52:44 2434

原创 centos hadoop 简单入门配置

#上传 hadoop-2.7.3.tar.gz 到 /usrcd /usrtar zxvf hadoop-2.7.3.tar.gzmv hadoop-2.7.3mkdir /usr/hadoop/tmpvi /etc/profile#追加hadoop环境变量export HADcd /usr/hadoop/etc/hadoop/vi hadoop-env.sh #追加如下内容expo

2017-01-09 14:53:10 343

原创 Netty+websocket的客服聊天室

Netty所需jar包 commons-beanutils-1.8.0.jar commons-collections-3.2.jar commons-logging.jar commons-lang-2.4.jar ezmorph-1.0.6.jar json-lib-2.4-jdk15.jar 这里使用org. log4j-1.2.17.jar n

2016-12-16 10:56:48 2552 1

原创 nodeWebKit 0.12版本迁移0.18 迁移记录

原项目使用nw.js 0.12开发。 升级至nw.js 0.18.8 IDE webstormgui.Window.open 无法打开窗口 取消 toolbar设置 路径由xx.html改为/xxx/xx.html (老版本自动定位到xx目录,新版本定位为项目根目录) DevToolsAPI is not defined https://dl.nwjs.io/v0.18.8/

2016-11-30 09:19:15 432

原创 WebStorm下载及破解

下载地址: http://www.jetbrains.com/webstorm/download/下载安装不要运行webstorm修改系统时间,例如修改为2099年x月x日启动webstorm选择试用30天进入webstorm界面后,关闭webstorm将时间修改回正确日期再次启动webstorm 启动的时候会提示你是试用30天的用户 加载的时候下面写着过期日期2098年

2016-11-29 10:18:13 3637

原创 angular1.x $watch 监听的简单应用

$watch(watchExpression, listener, objectEquality); watchExpression: 被监听的对象 listener: 包含3个值 newValue , oldValue, scope(可以引用一个作用域) objectEquality:是否使用angular.equals方法比对<!DOCTYPE html><h

2016-11-28 16:14:52 913

原创 简单实现 angular1.x 双向数据绑定

angular1.x中双向数据绑定指的是,HTML值变化,与其绑定的js中的变量值也变化,而这都主要依靠angular中$digest完成,无需过多的js代码来实现<!DOCTYPE html><html> <head> <meta charset="utf-8"> <script src="http://cdn.static.runoob.com/libs

2016-11-28 15:54:09 855

原创 自己做个java sqlite连接池

因各种奇葩原因只能自制一个简易的连接池 虽然不是那么强大, 但是已经满足了项目的要求。 能快速的获取和定期释放连接即可,包括max,min的阈值效用 定义一个对象。这没什么好说的import java.sql.Connection;/** * 连接池对象容器 * * @author Allen * @date 2016年10月31日 * */public cl

2016-11-17 15:46:12 3951

原创 java实现svn,svnkit框架的简单应用

SvnKit 地址:https://svnkit.com/download.php项目需要做了个简单的demo,可以进行基础操作。demo可以运行,但是更多高级更多实现需要自己在扩展。因为这个项目已经进入Thread.sleep :( ,开展新项目了 :(功能 1.实现了几个基础操作 2.提供了日志操作 项目结构 首先我们先创建3个对象来为后面服务 package com.svn.

2016-11-17 14:16:17 9178 4

C语言资料大全

C语言资料大全

2013-03-11

C语言函数大全(语法着色版)

C语言函数大全(语法着色版)

2013-03-11

C语言经典100例

C语言经典100例 非常受用哦 题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中. 1.程序分析: 2.程序源代码: #include "stdio.h" main() { FILE *fp; int i,j,n,ni; char c[160],t,ch; if((fp=fopen&#40;"A","r"&#41;)==NULL) {printf("file A cannot be opened\n"); exit(0);} printf("\n A contents are :\n"); for(i=0;(ch=fgetc(fp))!=EOF;i++) {c[i]=ch; putchar(c[i]); } fclose(fp); ni=i; if((fp=fopen&#40;"B","r"&#41;)==NULL) {printf("file B cannot be opened\n"); exit(0);} printf("\n B contents are :\n"); for(i=0;(ch=fgetc(fp))!=EOF;i++) {c[i]=ch; putchar(c[i]); } fclose(fp); n=i; for(i=0;i<n;i++) for(j=i+1;j<n;j++) if(c[i]>c[j]) {t=c[i];c[i]=c[j];c[j]=t;} printf("\n C file is:\n"); fp=fopen&#40;"C","w"&#41;; for(i=0;i<n;i++) { putc(c[i],fp); putchar(c[i]); } fclose(fp); }

2013-03-11

navicat 10 注册码

\navicat 10 注册码

2013-03-08

ActionScript3[1].0中文版

as3.0.chm as3.0.chm as3.0.chm中文版

2013-03-08

Java数据结构和算法

Java数据结构和算法 非常详细非常全面的数据结构及算法的讲解啊

2013-03-08

MOOS打开MPP格式

微软提供的 moss软件 专门打开 .mpp等格式文件

2013-03-08

PL/SQL801注册机

PL/SQL801注册机

2013-03-08

jquery中文api

jquery中文api

2013-03-08

视频会议行业深度报告:把握云视频崛起中的行业红利.pdf

视频会议行业深度报告:把握云视频崛起中的行业红利。

2020-05-19

深入理解JAVA内存模型-程晓明版

深入理解JAVA内存模型-程晓明版 深入理解JAVA内存模型-程晓明版 深入理解JAVA内存模型-程晓明版 深入理解JAVA内存模型-程晓明版

2017-09-14

CyclicBarrier,reentrantlock,condition模拟抢票

主要是借助携程带来的一点业务灵感。用CyclicBarrier,reentrantlock,condition来完成同时购买,同步购买的功能 JUC系列之模拟抢票(N人同时抢票,票不足系统补仓,N-M人继续抢票) http://blog.csdn.net/crazyzxljing0621/article/details/77891620

2017-09-08

(java)六种常见排序

* 冒泡排序 O(n2) * 选择排序 O(n2) * 插入排序 O(n2) * 希尔排序 O(n1.5) * 快速排序 O(N*logN) * 归并排序 O(N*logN) 详见http://blog.csdn.net/crazyzxljing0621/article/details/77867788

2017-09-06

dubbox + springmvc 2017整合最新版

dubbox + springmvc 整合最新实例及附件 详见博客http://blog.csdn.net/crazyzxljing0621/article/details/76514583

2017-08-01

hacker's delight(中文版)

concurrentHashMap中 tableSizeFor方法指明了,想了解此算法就看这本书

2017-06-27

SpringMVC 多版本接口/IP访问控制/ANT打包发布到LINUX

具体查看 http://blog.csdn.net/crazyzxljing0621/article/details/72723823

2017-05-26

springMVC多版本接口+ant+ip访问控制

具体查看 http://blog.csdn.net/crazyzxljing0621/article/details/72723823

2017-05-25

java实现svn,svnkit框架的简单应用

基于javasvnkit 功能 1.实现了几个基础操作 2.提供了日志操作

2017-02-16

netty+websocket 客服聊天室

实现了用户与客服功能,客服服务队列,服务器排队 详见: http://blog.csdn.net/crazyzxljing0621/article/details/53690505 系统概要 1. 用户通过websocket与netty创建通讯 2. 用户链接到服务器队列中 3. 队列通过轮训机制判定netty是否有可以服务的客服 4. 如果有则将队列中的用户channel转给客服进行点对点通讯 5. 队列有自己的最大容载量 6. 每个客服可以同时服务N个用户 7. 没有空闲客服的时候用户们只能在队列中慢慢排队 8. 队列状态及实时位置由队列向队列内用户推送 9. 当有空闲位置的时候,轮训机制会将队列中首位用户放到netty中进行与客服的通讯挂钩 10. 其实对于服务器队列可以抽出来做到一个单独的项目中,用户先访问队列项目,队列项目再将用户channel发送给处理消息的netty项目

2016-12-16

netty+websocket通讯例子

netty+websocket通讯例子

2016-12-16

我就说一个问题!!

发表于 2018-01-15 最后回复 2018-01-15

博客又维护了?

发表于 2017-02-23 最后回复 2018-01-09

空空如也

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

TA关注的人 TA的粉丝

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