自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

往前的娘娘

https://github.com/wangqiandeniangniang

  • 博客(55)
  • 资源 (7)
  • 收藏
  • 关注

原创 第13章 线程安全与锁优化

1、概述如何实现“高效并发”,首先需要保证并发的正确性,然后在此基础上来实现高效。2、线程安全定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程安全的。2.1 java语言中的线程安全按照线程安全的“安全程度”由强至弱来排序,我

2017-08-31 20:23:16 217

原创 第12章 Java内存模型与线程

1、概述衡量一个服务性能的高低好坏,每秒事务处理数(Transactions Per Second TPS)是最重要的指标之一,它代表一秒内服务端平均能响应的请求总数。2、硬件的效率与一致性处理器和内存不是同数量级,所以需要在中间建立中间层,也就是高速缓存,这会引出缓存一致性问题。在多处理器系统中,每个处理器都有自己的高速缓存,而它们又共享同一主内存(Main Memory),有可能操

2017-08-30 21:36:05 307

原创 第11章 晚期(运行期)优化

1、概述:虚拟机会根据代码执行情况,如果代码执行特别频繁,就将这段代码编译成本地平台相关的机器码,完成这个任务的编译器就是即时编译器(Just In Time Compiler)简称JIT编译器,涉及的虚拟机是指HotSpot虚拟机的即时编译器。2、HotSpot虚拟机内的即时编译器2.1 解释器与编译器解释器:程序可以迅速启动和执行,消耗内存小 (类似人工 成本地,到后期效率低)

2017-08-29 21:53:10 447

原创 正则表达式

概述:《跟阿铭学linux》,几乎任何软件都会涉及到正则表达式,它一种匹配模式,下面linux相关的正则表达式工具grep,sed,awk1、grep/egrep语法:grep [-cinvABC] 'word'  filename-c : 打印符号要求的行数-i :忽略大小写-n :在输出符号要求的行的同时连同行号一起输出-v : 打印不符合要求的行-A : 后跟

2017-08-26 18:13:32 216

原创 第10章, 早期(编译期)优化

1、概述:编译过程的编译器:1、前端编译器:Sun的Javac、Eclipse JDT中的增量式编译器(ECJ) (.java文件变为*.class过程)2、JIT编译器:HotSpot VM 的C1、C2编译器(.class文件变成机器码的过程)3、AOT编译器:GNU Compiler for the java(GCJ)、Excelsior JET(.java文件直接变成机器码

2017-08-26 15:05:48 296

原创 OneNET与第三方平台对接(最简单方式)

概述:这个微信对接类似,比微信还简单一点,如果你对接过微信,相信这个很简单。采用本地映射外部链接方式(ngrok工具)1、第一步写客户端代码采用SpringMVC+Spring框架@Controllerpublic class OneNoteController { Logger logger = LoggerFactory.getLogger(OneNoteControl

2017-08-25 15:37:43 29592 6

原创 第八章 Testing Concurrent Applications(测试并发应用)【下】

本章涉及内容:监控Lock接口监控Phaser类监控一个Executor框架监控Fork/Join线程池写有效的日志用FindBugs分析并发代码配置Eclipse调试并发代码用MultithreadTC测试并发代码1、写有效的日志信息利用java.util.logging包为你并发应用添加日志信息

2017-08-25 12:59:00 475

原创 第八章 Testing Concurrent Applications(测试并发应用)【上】

本章涉及内容:监控Lock接口监控Phaser类监控一个Executor框架监控Fork/Join线程池写有效的日志用FindBugs分析并发代码配置Eclipse调试并发代码用MultithreadTC测试并发代码1、简介并发测试的不同的是你很难重现之前的错误或者异常。2、监控Lock接口package com.jack;import java.util.Co

2017-08-24 21:41:28 575

原创 高德地图开发-- 自定义图标

概述:参考高德API:点标记1、分析高德例子 自定义图标 var infoWindow; var map = new AMap.Map("container", { resizeEnable:true, center:[116.473188,39.993253], zoom:13 })

2017-08-24 18:57:49 9099 2

原创 高德地图 信息窗体(InfoWindow)

概述:参考高德地图API:信息窗体1、先分析高德给的例子: 默认样式信息窗体 var infoWindow; var map = new AMap.Map("container", { resizeEnable:true, center:[116.473188,3

2017-08-24 16:01:33 14517

原创 第七章 Customizing Concurrency Classes(自定义并发类)【下】

本章涉及内容:自定义ThreadPoolExecutor类实现基于优先级Executor类实现ThreadFactory接口生成自定义线程在Executor对象中使用自定义ThreadFactory在计划线程池运行自定义任务通过实现ThreadFactory接口为Fork/Join框架生成自定义线程在Fork/Join框架运行自定义任务实现自定义锁类基于优先级实现传输队列实现自己的原子对象

2017-08-23 16:58:52 299

原创 第七章 Customizing Concurrency Classes(自定义并发类)【上】

本章涉及内容:自定义ThreadPoolExecutor类实现基于优先级Executor类实现ThreadFactory接口生成自定义线程在Executor对象中使用自定义ThreadFactory在计划线程池运行自定义任务通过实现ThreadFactory接口为Fork/Join框架生成自定义线程在Fork/Join框架运行自定义任务实现自定义锁类基于优先级实现传输队列实现自己的原子

2017-08-21 15:53:26 251

原创 学习shell脚本之前的基础知识

概述:《跟阿铭学linux》1、什么是shell默认安装的shell叫做bash1.1记录命令历史1.1.1 !!连续两个!表示执行上一条指令:1.1.2  !n 这里的n是数字,表示执行命令历史中第n条指令,例如!1002表示执行命令历史中第1002个命令1.1.3 !字符串(字符串大于等于1),例如!pw表示执行命令历史中最近一次以‘pw’为开头的指

2017-08-19 21:05:38 470

原创 第六章 Concurrent Collections (并发集合类) 【下】

本章涉及内容:使用非阻塞、线程安全lists集合使用阻塞、线程安全lists集合通过优先级确定顺序来使用阻塞式线程安全lists集合通过延迟元素来使用线程安全lists集合使用线程安全导航maps集合生成一个并发随机数使用原子变量使用原子数组1、使用线程安全导航maps集合ConcurrentSkipListMap 实现了ConcurrentNavigableMap接口,它使用了S

2017-08-19 19:43:28 431

原创 第六章 Concurrent Collections (并发集合类) 【上】

本章涉及内容:使用非阻塞、线程安全lists集合使用阻塞、线程安全lists集合通过优先级确定顺序来使用阻塞式线程安全lists集合通过延迟元素来使用线程安全lists集合使用线程安全导航maps集合生成一个并发随机数使用原子变量使用原子数组1、简介数据结构是程序最基础的元素。Java API提供java 集合框架来管理数据,当你在选择集合类要特别小心,有些集合类并不支持并

2017-08-19 16:41:37 1492

原创 安装RPM包或者安装源码包

概述:《跟阿铭学linux》1、RPM工具(Redhat Package Manager)1.1、安装一个rpm包为了方便,采用yum下载不安全,然后采用rpm安装来学习。首先看一下有yum软件列表yum listsudo yum install --downloadonly --downloaddir=/tmp znc这句话的意思:--downloadonly(表

2017-08-18 20:30:59 271

原创 第五章 Fork/Join Framework(Fork/join 框架)【下】

本章涉及的内容:创建一个Fork/Join 池插入任务的结果同步运行任务在任务中抛出异常取消一个任务1、在任务中抛出异常package com.jack;import java.util.concurrent.RecursiveTask;import java.util.concurrent.TimeUnit;public class Task extends Recur

2017-08-18 16:16:45 225

原创 第五章 Fork/Join Framework(Fork/join 框架)【上】

本章涉及的内容:创建一个Fork/Join 池插入任务的结果同步运行任务在任务中抛出异常取消一个任务1、简介问题来了,Fork/Join为啥需要存在? 前面Executor已经解决线程管理的问题,为甚还有Fork/Join框架?打个比方,公司管理,刚开始只要六七人,一个管理员就够了,随着人员的增加多管理难度越来越大,那应该怎么办呢?按部门分开管理,比如财务部,后勤部,策划部

2017-08-18 14:46:05 259

原创 文档的压缩与打包

概述:《跟阿铭学linux》.gz gzip 压缩工具压缩的文件.bz2 bzip2 压缩工具压缩的文件.tar tar 打包程序打包的文件.tar.gz  可以理解为先用tar打包,然后再gzip压缩.tar.bz2 先用tar打包,然后再bzip2压缩1、gzip压缩工具语法:gzip 【-d#】文件名-d: 解压缩时使用-#:压缩等级,1压缩最差,9最

2017-08-17 20:37:49 218

原创 第9章 类加载及执行子系统的案例与实战

1、字节码生成技术与动态代理的实现package com.jack;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class DynamicProxyTest { interface IHello {

2017-08-17 15:14:09 237

原创 System.arraycopy方法详解

概述:System.arraycopy是一个原生的方法,用于数组间的复制,当然延伸功能完成数组替换。1、翻译Java源码的注释 public static native void arraycopy(Object src,  int  srcPos, Object dest, int destPos,  int length);       @param      

2017-08-17 11:31:21 4656

原创 文本编辑工具VIM

概述:《跟阿铭学linux》1、vim的三种模式vim和vi区别就是vim可以显示颜色,而vi不会一般模式:刚进入文件处于状态,可以移动光标,删除,复制和粘贴动作编辑模式:就是用键盘输入文字(i,I,a,A,o,O,r,R都可以进入编辑状态),左下角会出现INSERT或REPLACE,退出编辑状态按ESC命令模式:一般以:或/开头,进行搜索,保存,替换,退出,显示行号对

2017-08-16 20:20:46 364

原创 第四章 Thread Executors(Executors多线程架构)【下】

本章涉及内容:创建一个executor线程创建一个固定大小executor执行executor任务返回一个结果处理多任务和处理第一个结果处理多任务和处理所有结果延迟之后运行executor周期地运行任务的executor在executor取消任务在executor控制任务完成在executor分开task启动和处理结果控制executor的拒绝的任务1、在executor控制任务完成之

2017-08-16 16:46:57 628

原创 第四章 Thread Executors(Executors多线程架构)【中】

本章涉及内容:创建一个executor线程创建一个固定大小executor执行executor任务返回一个结果处理多任务和处理第一个结果处理多任务和处理所有结果延迟之后运行executor周期地运行任务的executor在executor取消任务在executor控制任务完成在executor分开task启动和处理结果控制executor的拒绝的任务1、处理多任务和处理所有结果实现

2017-08-16 12:17:24 216

原创 第四章 Thread Executors(Executors多线程架构)【上】

本章涉及内容:创建一个executor线程创建一个固定大小executor执行executor任务返回一个结果处理多任务和处理第一个结果处理多任务和处理所有结果延迟之后运行executor周期地运行任务的executor在executor取消任务在executor控制任务完成在executor分开task启动和处理结果控制executor的拒绝的任务简介:executor是

2017-08-16 10:32:20 386

原创 LINUX磁盘管理

概述:《跟阿铭学Linux》1、查看磁盘或者目录的容量命令:df-i : 查看inodes使用状况-h:显示单位为G-k :显示单位K-m:显示单位M[root@iz8vb7xp3jz ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/vda1 40G 1.8G 36G

2017-08-15 20:14:30 293

原创 第三章 Thread Synchronization Utilities(线程同步工具类)【下】

涉及内容:控制并发获取资源控制并发获取多份copy资源等待多个并发事件在公共点同步任务运行并发多阶段任务在阶段任务中控制阶段变化在并发任务之间改变数据1、运行并发多阶段任务如果你玩过恐龙快打,这个有点类似,就是两个用户必须要同时打完这个关然后一起进入下一关,否则会一直在那里等着。例子:删除超过24小时的日志文件,分为三步:1、得到以.log为后缀的所有文件2、判断创

2017-08-14 21:50:16 284

原创 第三章 Thread Synchronization Utilities(线程同步工具类)【上】

涉及内容:控制并发获取资源控制并发获取多份copy资源等待多个并发事件在公共点同步任务运行并发多阶段任务控制阶段并发阶段任务k

2017-08-14 17:12:40 279

原创 linux系统用户及用户组管理

概述:《跟阿铭学linux》1、认识/etc/passwd和/etc/shadowcat /etc/passwd | head"|"表示管道运算符,将前面的结果作为后面输入的源数据root:x:0:0:root:/root:/bin/bash   分析(以:作为分割符)1)用户名(root)2)存放的就是该账户的口令(x只是占位符,真正密码存在于/etc/sha

2017-08-14 12:18:19 882

原创 第二章 Basic Thread Synchronization (基础线程同步) 【下】

涉及的内容同步一个方法同步类中分配一个独立属性在同步代码中使用条件使用Lock锁定代码块同步数据的读写锁修改Lock公平模式在Lock中使用多条件1、同步数据的读写锁ReadWriteLock接口 和 ReentrantReadWriteLock类例子:使用ReadWriteLock接口获取一个存储两个产品的价格package com.jack;import java.

2017-08-12 18:25:28 197

原创 第二章 Basic Thread Synchronization (基础线程同步) 【上】

涉及的内容同步一个方法同步类中分配一个独立属性在同步代码中使用条件使用Lock锁定代码块同步数据的读写锁修改Lock公平模式在Lock中使用多条件简介同步类似就是车过收费站,一杆一车,排队出收费站,不许并行。对于同步的代码块称为critical section (临界断面)为了实现这个同步将会介绍两种同步方法:关键字:synchronizedLock的接

2017-08-12 15:50:38 511

原创 @PathVariable对于特殊字符截断问题

概述:@ResponseBody @RequestMapping(value="/download/{fileName:[a-zA-Z0-9\\.-_]+}", method = RequestMethod.GET) public void downloadAmr( HttpServletRequest request, HttpServletResponse response, @Pat

2017-08-12 12:24:28 4774

原创 第一章 Thread Management(线程管理) 下

涉及内容创建和运行一个线程获取和设置线程信息打断一个线程控制打断的线程休眠和唤醒线程等待线程的终止创建和运行守护线程处理线程中不受控制的异常使用local thread变量将线程加入组处理线程组的不受控制的异常通过工厂创建线程1、使用local thread变量线程之间共享变量或者不共享变量例子:local thread 变量机制外部变量package com.

2017-08-11 21:12:10 346

原创 第一章 Thread Management(线程管理) 中

涉及内容创建和运行一个线程获取和设置线程信息打断一个线程控制打断的线程休眠和唤醒线程等待线程的终止创建和运行守护线程处理线程中不受控制的异常使用local thread变量将线程加入组处理线程组的不受控制的异常通过工厂创建线程1、休眠和唤醒线程例子:使用sleep()方法写一个真实的日期import java.util.Date;import java.util.conc

2017-08-11 19:31:20 340

原创 第一章 Thread Management(线程管理) 上

涉及内容:创建和运行一个线程获取和设置线程信息打断一个线程控制打断的线程休眠和唤醒线程等待线程的终止创建和运行守护线程处理线程中不受控制的异常使用local thread变量将线程加入组处理线程组的不受控制的异常通过工厂创建线程1、简介并发(concurrency):多线程运行在单核处理器,执行顺序--无序并行(parallelism) :多线程运行在多核处理,执行顺序

2017-08-11 16:05:16 345

原创 linux文件与目录管理

概述:学习《跟着阿铭学Linux》1.绝对路径和相对路径以'/'开头为绝对路径。 相对路径直接目录名命令:cd绝对路径: cd /etc/vsftpd相对路径:cd test (假设当前目录下有test目录)当前目录:cd ./返回上一级: cd ../当前的绝对路径: pwd命令:mkdirmkdir -p /test/test1  (-p表示

2017-08-10 19:06:31 437

原创 activemq入门基于queue和基于topic的demo

概述:ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。(这句话引用百度的,哈哈)背景:1、采用Maven工程2、jdk 1.8 (它要求是jdk1.7以上)

2017-08-10 11:54:52 535

原创 com.alibaba.fastjson.JSONException: syntax error, expect {, actual int, pos 0

概述:刚采用Jmeter测试,抛出的异常,在抛出异常之后都会怀疑人生。。。。。。。。这个异常的意思就是你json有问题,或者不是jsoncom.alibaba.fastjson.JSONException: syntax error, expect {, actual int, pos 0 at com.alibaba.fastjson.parser.deserializer.JavaB

2017-08-09 21:13:54 44590 1

原创 下载的文件没有文件类型

1.概述c语言好像不能直接下载文件(一个做java不知道,苦笑。。。),所以让我转发文件,其实就是让我读取流,然后将流写出。采用SpringMVC+Spring框架2.文件名称和类型怎么确定呢浏览器它也不知道这个是什么类型,只知道是字节流,那么浏览器大哥他有自己判断标准,也就是最后一个"/"整个部分@ResponseBody @RequestMapping(value="

2017-08-09 14:58:21 2186

原创 vsftpd.conf.5配置文件手册(中文版)

概述:vsftpd.conf.5官方英文地址为:英文地址VSFTPD.CONF.5NAME vsftpd.conf-vsftpd的配置文件DESCRIPTION(描述)vsfptd.conf可以控制vsftpd众多方面的行为。默认情况下,vsftpd的文件位置在/etc/vsftpd.conf(注意在centos7.2在/etc/vsftpd/v

2017-08-09 11:00:57 6344 6

exe4j官方帮助文档

上传官方exe4j帮助文档,方便广大程序员使用。。。。。。。。。。

2018-03-02

Californium jar 集合

californium集合的demo 需要的jar包,方便coap编程demo

2018-02-10

spring-security-helloworld-annotation

spring-security-helloworld-annotation

2017-07-07

spring-security-helloworld

Spring-security demo

2017-07-07

Springwebflow

spring web flow 小案例

2017-07-06

千寻平台测试用例

千寻案例

2017-07-04

spittr案例

demo案例

2017-06-23

空空如也

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

TA关注的人

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