![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程
zbuger
这个作者很懒,什么都没留下…
展开
-
Shell入门
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。Linux的Shell转载 2016-06-24 11:55:57 · 333 阅读 · 0 评论 -
关于java中的本地缓存-总结概
为什么要有本地缓存?在系统中,有些数据,数据量小,但是访问十分频繁(例如国家标准行政区域数据),针对这种场景,需要将数据搞到应用的本地缓存中,以提升系统的访问效率,减少无谓的数据库访问(数据库访问占用数据库连接,同时网络消耗比较大),但是有一点需要注意,就是缓存的占用空间以及缓存的失效策略。 为什么是本地缓存,而不是分布式的集群缓存? 目前的数据,大转载 2017-04-25 23:03:57 · 2011 阅读 · 0 评论 -
ByteBuffer常用方法详解
缓冲区(Buffer)缓冲区(Buffer)就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区:使用缓冲区有这么两个好处:1、减少实际的物理读写次数2、缓冲区在创建时就被分配内存,这块内存区域一直被重用,可以减少动态分配和回收内存的次数举个简单的例子,比如A地有1w块砖要搬到B地由于转载 2017-04-23 21:56:25 · 2550 阅读 · 0 评论 -
直接内存和堆内存的性能比较
背景知识在JDK 1.4中新加入了NIO(New Input/Output)类,引入了一种基于通道(Channel)与缓冲区(Buffer)的I/O方式,它可以使用Native函数库直接分配堆外内存,然后通过一个存储在Java堆里面的DirectByteBuffer对象作为这块内存的引用进行操作。这样能在一些场景中显著提高性能,因为避免了在Java堆和Native堆中来回复制数据。 显转载 2017-04-23 21:33:12 · 709 阅读 · 0 评论 -
使用sun.misc.Cleaner或者PhantomReference实现堆外内存的自动释放
Java NIO包是通过sun.misc.Cleaner和PhantomReference来实现堆外内存的自动释放的。现在我们来学习下Cleaner和PhantomReference的使用,自己封装实现堆外内存的自动释放。sun.misc.Cleaner是JDK内部提供的用来释放非堆内存资源的API。JVM只会帮我们自动释放堆内存资源,但是它提供了回调机制,通过这个类能方便的释放系统的转载 2017-04-23 16:16:01 · 599 阅读 · 0 评论 -
关于同步异步非阻塞阻塞[推荐]
这里面有篇文章非常牛逼,说的很清楚(注意这句话System I/O can be blocking, or non-blocking synchronous, or non-blocking asynchronous)http://www.artima.com/articles/io_design_patternsP.html(看这一篇足够了)包括下面这篇http://ww转载 2016-08-12 14:35:15 · 375 阅读 · 0 评论 -
Jetty 9嵌入式开发
官方网址:http://www.eclipse.org/jetty/下载地址:http://download.eclipse.org/jetty/stable-9/dist/文档网址:http://www.eclipse.org/jetty/documentation/当前Jetty网址上推荐使用的稳定版本:Jetty9.0。介绍 Jet转载 2016-06-19 19:44:07 · 1954 阅读 · 0 评论 -
用keytool创建Keystore和Trustsotre文件
JSSE使用Truststore和Keystore文件来提供客户端和服务器之间的安全数据传输。keytool是一个工具可以用来创建包含公钥和密钥的的keystore文件,并且利用keystore文件来创建只包含公钥的truststore文件。在本文中,我们学习如何通过下面的5步简单的创建truststore和keystore文件: 生成一个含有一个私钥的keystore文件转载 2016-06-16 17:33:38 · 2554 阅读 · 0 评论 -
java实现ssl单/双向认证通信[推荐]
有关SSL的原理和介绍在网上已经有不少,对于Java下使用keytool生成证书,配置SSL通信的教程也非常多。但如果我们不能够亲自动手做一个SSL Sever和SSL Client,可能就永远也不能深入地理解Java环境下,SSL的通信是如何实现的。对SSL中的各种概念的认识也可能会仅限于可以使用的程度。本文通过构造一个简单的SSL Server和SSL Client来讲解Java环境下SS原创 2016-06-17 00:30:48 · 15534 阅读 · 4 评论 -
JAVA利用HttpClient进行POST请求(HTTPS)
为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程。1.写一个SSLClient类,继承至HttpClient[java] view plain copy import java.security.cert.CertificateException; import java.security.c转载 2016-06-18 20:30:40 · 3444 阅读 · 0 评论 -
注意设置httpclient连接数
在使用Httpclient的过程中,当访问量增大的时候,会发现本地的连接等待时间急剧增加,例如从400ms增加到 78000ms,之前一直以为是航信系统问题,后面经过检查才发现,原来是本地httpclient设置时,最大连接数采用了默认设置的原因,而默认的最 大连接数只有2个,所以当有大量连接需要建立时,大多数连接只有等待。后面将连接数设置修改成32个之后,这个响应时间就基本上很少出现很大的时候。转载 2016-06-18 20:51:15 · 8881 阅读 · 0 评论 -
一道面试题比较synchronized和读写锁
一、科普定义这篇博文的两个主角“synchronized”和“读写锁”1)synchronized这个同步关键字相信大家都用得比较多,在上一篇“多个线程之间共享数据的方式”中也详细列举他的应用,在这就不多说只做几点归纳:Java提供这个关键字,为防止资源冲突提供的内置支持。当任务执行到被synchronized保护的代码片段的时候,它检查锁是否可用,然后获取锁,执行转载 2016-06-07 11:57:23 · 1763 阅读 · 1 评论 -
HttpClient使用详解(ssl)
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会转载 2016-06-18 22:24:44 · 6939 阅读 · 0 评论 -
java中Keytool的使用总结
在申请Android Map API Key的时候使用到了java中Keytool,下面转一篇介绍java中Keytool的文章:http://blog.csdn.net/tony1130/archive/2010/01/05/5134318.aspx-------------------------Keytool 是一个Java 数据证书的管理工具 ,Keytool 将密钥(ke转载 2016-06-16 23:52:14 · 557 阅读 · 0 评论 -
java ssl编程
实现技术:JSSE(Java Security Socket Extension)是Sun为了解决在Internet上的实现安全信息传输的解决方案。它实现了SSL和TSL(传输层安全)协议。在JSSE中包含了数据加密,服务器验证,消息完整性和客户端验证等技术。通过使用JSSE,可以在Client和Server之间通过TCP/IP协议安全地传输数据。为了实现消息认证。Server转载 2016-06-15 16:29:02 · 576 阅读 · 0 评论 -
digester使用
1. 概述解析XML一直都是编写程序的头疼问题,不是因为它难,而是因为各种地方需要对解析XML的结果要求不同,XML解析和业务逻辑融合在一起,所以每次解析时都感觉是从头开始,没有一套好用的类库。 在大多数应用系统中,都需要保存一个或多个配置信息,这些信息可以保存在数据库中,也可以保存在文件中,保存XML文件中是一个不错的选择,如下: xml转载 2016-06-25 20:06:36 · 800 阅读 · 0 评论 -
正则表达式学习
正则表达式1.判断ip地址,有点小缺陷,不影响:(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})原创 2016-06-24 20:12:06 · 319 阅读 · 0 评论 -
分布式文件系统下的本地缓存
在分布式文件系统中,为了提高系统的性能,常常会引入不同类型的缓存存储系统(算法优化所带来的的效果可能远远不如缓存带来的优化效果)。在软件中缓存存储系统一般可分为了两类:一、分布式缓存,例如:Memcached、Redis、淘宝的Tair等,二、本地缓存,例如:Facebook的flushcache等,其中本地缓存又可以分为两种:本地磁盘缓存(现在一般都采用读写性能比较优异的SSD来做存储)和本地内转载 2017-04-26 23:32:47 · 1034 阅读 · 0 评论