- 博客(314)
- 资源 (33)
- 收藏
- 关注
转载 dubbo源码深度解读一之common模块
dubbo源码深度解读一之common模块1280言:或许很多人会使用dubbo,但是阅读源码将使我们更加了解它,以及在未来对它进行改进优化。我就先把flag立在这里了,接下来这阵子将会深入源码进行学习和优化。做为一个要使用dubbo的程序员,必须需要深入理解它,因为dubbo已经停止了维护。一,dubbo的分层架构 因为是第一篇,这些基础的东西
2017-12-25 10:53:55 553
转载 《高性能的RTC服务器OpenFire》
《高性能的RTC服务器OpenFire》—第一章部署与源码调试 《高性能的RTC服务器OpenFire》—第一章部署与源码调试 前言OpenFire是什么,以及它能做什么?或许这是许多开发人员最关心的一个话题。简单来说,OpenFire是一个采用纯Java语言编写(核心架构使用Mina构建)的开源RTC(Real-Time C
2017-12-20 09:12:53 270
转载 深入浅出 Linux Vsftpd创建多虚拟用户教程
深入浅出 Linux Vsftpd创建多虚拟用户教程Vsftpd 是一款轻量级并有着安全与简易等特性的FTP服务器程序,破受欢迎。在 Linux 中一旦配置好 Vsftpd 环境就可以一劳永逸,任意的迁移到类似的服务器之上,因此我们对配置过程做个系统的了解也是有必要的。本文的任务是创建两个虚拟账户,第一个账户(bugxm_admin)拥有可读写指定目录文件、不可登陆系统权限,第二个(b
2017-12-07 15:17:25 607
转载 深入阅读Mina源码(3) —— Mina之IOAdapter(二)
深入阅读Mina源码(3) —— Mina之IOAdapter(二) 4. AbstractPollingIoAcceptor 这个类在org.apache.mina.core.polling,这个包一共有四个类,这个类就可以代表整个包的内容了,细致说一下,之后就不再深入介绍这个包了。从名字可以看出包里面的类主要完成轮询。 AbstractPoll
2017-12-05 19:54:08 162
转载 SSH与SSL
SSH与SSL阅读目录1. SSL2. SSL3. SSH与SSL比较 SSLSSH 即Secure Shell,它主要由三部分组成:第一部分:连接协议 [SSH-CONNECT]将多个加密隧道分成逻辑通道。它运行在用户认证协议上。它提供了交互式登录话路、远程命令执行、转发 TCP/IP 连接和转发 X11 连接。 第二部分:用户认证协议 [SS
2017-12-05 15:29:21 337
转载 Nutch+MongoDB+ElasticSearch+Kibana 搭建搜索引擎
Nutch+MongoDB+ElasticSearch+Kibana 搭建搜索引擎前言:文章讲述如何通过Nutch、MongoDB、ElasticSearch、Kibana搭建网络爬虫,其中Nutch用于网页数据爬取,MongoDB用于存储爬虫而来的数据,ElasticSearch用来作Index索引,Kibana用来形象化查看索引结果。具体步骤如下:配置环境:系统环境:Ubuntu 14.04J
2017-12-04 22:41:07 830
转载 Java Socket实现文件传输
Java Socket实现文件传输 最近学Socket学上瘾了,就写了一个简单的文件传输程序。客户端设计思路:客户端与服务端建立连接,选择客户端本地文件,先将文件名及大小等属性发送给服务端,再将文件通过流的方式传输给服务端。传输的进度打印到控制台中,直到传输完成。服务端设计思路:服务端接收客户端的请求(阻塞式),每接收到一个客户端请求连接后,就新开一个处理
2017-12-04 16:19:18 18991 4
转载 Java NIO:浅析I/O模型
Java NIO:浅析I/O模型也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能
2017-12-02 18:04:20 173
转载 JAVA NIO存在的问题
JAVA NIO存在的问题问题 bug netty NIO epoll摘要: JAVA 包含最新的版本JDK1.8的NIO存在一些问题,这些问题需要在编写NIO程序时要格外关注: NIO跨平台和兼容性问题 NIO是底层API,它的实现依赖于操作系统针对IO操作的APIs. 所以JAVA能在所有操作系统上实现统一的接口,并用一致的行为来操作IO是很伟大的。JAVA 包含最新的版本JDK
2017-12-01 20:06:06 1840
转载 eclipse打包成可运行.jar文件
问题背景因为之前一直在开发测试安卓,没有涉足PC平台,一般的java程序也是直接在ecplise中编辑完成后,直接运行的,没有进行过其他考虑,现在因为要用云或者虚拟机进行程序调用,这样直接在ecplise中运行的话,就比较麻烦了,有的则是没有linux的虚拟机就更不要提了,所以这里需要导出可运行的.jar文件。导出Runnable Jar file步骤1在左侧项目目录任意位置直接右
2017-11-29 13:00:57 2398
转载 jdk 源码分析(19)java net包简单分析
jdk 源码分析(19)java net包简单分析jdk 源码分析(18)java net包只能简单分析,因为代码走到后面都变成了native方法,我去openJDK,以及其他语言的实现都没有找到底层怎么实现的,如果你知道,告诉我一声。这里只能简单分析了。1)通信代码:服务端: int port = 8919;
2017-11-25 14:44:19 1867
转载 spring 常见报错
spring 项目启动报错org.springframework.beans.factory.annotation.InjectionMetadata5 请帮忙看下这个是什么问题。严重: Servlet /yage threw load() exception java.lang.NoSuchMethodError: org.springframework.beans.factory.annot
2017-11-23 16:30:29 598
转载 基于Flume+Log4j+Kafka的日志采集架构方案
Flume 基本概念Flume是一个完善、强大的日志采集工具,关于它的配置,在网上有很多现成的例子和资料,这里仅做简单说明不再详细赘述。Flume包含Source、Channel、Sink三个最基本的概念:Source——日志来源,其中包括:Avro Source、Thrift Source、Exec Source、JMS Source、Spooling Directory Sou
2017-11-17 15:58:24 931
转载 大数据学习(一):实时处理环境搭建
概述为了实现搭建一套初步学习大数据实时分析的平台,用了5台linux虚拟机(Centos 7),安装 的组件包括: - FlumeNG:数据采集 - kafka集群:数据统一接入 - Storm集群:数据实时处理 - hadoop集群:这里只是用了其中HDFS组件来做数据存储 整个实时处理框架如下: 本人自己搭建环境的节点分布如下:服务节点
2017-11-17 14:47:57 952
转载 hashmap的滥用
具体滥用与否视你的项目而定对于答主这样的内存敏感人士,一般不用java.util.HashMap内存篇以下举出一个例子这个例子是以int为key,int为value的map,对比多种实现说明java.util.HashMap占用内存相比其他数据结构或者hash map实现有时是不可接受的package tmptest;import static javax.la
2017-11-15 22:52:28 538
转载 在 Java 中高效使用锁的技巧
在 Java 中高效使用锁的技巧--转载竞争锁是造成多线程应用程序性能瓶颈的主要原因区分竞争锁和非竞争锁对性能的影响非常重要。如果一个锁自始至终只被一个线程使用,那么 JVM 有能力优化它带来的绝大部分损耗。如果一个锁被多个线程使用过,但是在任意时刻,都只有一个线程尝试获取锁,那么它的开销要大一些。我们将以上两种锁称为非竞争锁。而对性能影响最严重的情况出现在多个线程同时尝试获取锁时。这
2017-11-15 19:14:22 306
转载 TCP 是互联网核心协议之一
TCP 是互联网核心协议之一一、TCP 协议的作用互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。(图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议。)最底层的以太网协议(Ethernet)规定了电子信号如何组成数据包(packet),解决了子网内部的点对点通信。(图片说明:以太网协议解决了局域网的点对点通信。)但
2017-11-07 20:05:53 3324
转载 redis单线程与分布式锁
Redis网络基础架构网络编程离不开Socket,网络I/O模型最常用的无非是同步阻塞、同步非阻塞、异步阻塞、异步非阻塞,高性能网络服务器最常见的线程模型也就是基于EventLoop模式的单线程模型。我们看看Redis的网络架构是怎么样的:Redis基础组建结构这里解释下上图涉及的组件,Redis网络层基础组件主要包括四个部分: EventLoop事件轮训器,
2017-11-06 20:43:19 1382
转载 vim常用命令总结 (转)
vim常用命令总结 (转) 在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。 vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东
2017-11-02 22:41:55 182
转载 netty源码分析之服务端启动全解析
netty 是一个异步事件驱动的网络通信层框架,其官方文档的解释为Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies an
2017-11-01 23:35:00 259
转载 SQL数据库面试题以及答案(50例题)
SQL数据库面试题以及答案(50例题)Student(S#,Sname,Sage,Ssex)学生表S#:学号Sname:学生姓名Sage:学生年龄Ssex:学生性别Course(C#,Cname,T#)课程表C#:课程编号Cname:课程名称T#:教师编号SC(S#,C#,score)成绩表S#:学号C#:课程编号score:成绩Teacher(T#,Tname)教师
2017-11-01 11:46:49 2106
转载 Java高级工程师常见面试题
一、Java基础1. String类为什么是final的。2. HashMap的源码,实现原理,底层结构。3. 说说你知道的几个Java集合类:list、set、queue、map实现类咯。。。4. 描述一下ArrayList和LinkedList各自实现和区别5. Java中的队列都有哪些,有什么区别。6. 反射中,Class.forName和cl
2017-10-29 23:43:27 282
转载 高并发分布式系统中生成全局唯一订单号
高并发分布式系统中生成全局唯一订单号我了解的方案如下……………………………………………………………………1、 使用数据库自增Id优势:编码简单,无需考虑记录唯一标识的问题。缺陷:1) 在大表做水平分表时,就不能使用自增Id,因为Insert的记录插入到哪个分表依分表规则判定决定,若是自增Id,各个分表中Id就会重复,在做查询、删除时就会有异常。2)
2017-10-29 19:01:03 3699 1
转载 jmx入门及开发示例 jmx程序管理
jmx入门及开发示例jmx程序管理 官方介绍:http://docs.oracle.com/javase/1.5.0/docs/guide/jmx/overview/JMXoverviewTOC.html JMX(Java Management Extensions) 是来管理网络,设备,应用程序等资源,它描述了一个可扩展的管理体系结构,并且提供了 JMX API 和一些预
2017-10-28 22:51:28 762
转载 用AtomicStampedReference解决ABA问题
用AtomicStampedReference解决ABA问题在运用CAS做Lock-Free操作中有一个经典的ABA问题:线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值仍然为A,所以CAS成功。但实际上这时的现场已经和最初不同了,尽管CAS成功,但可能存在潜藏的问题,例如下面的例子:现有一个用
2017-10-28 20:55:12 255
转载 JAVA CAS原理深度分析
感谢GOOGLE强大的搜索,借此挖苦下百度,依靠百度什么都学习不到! 参考文档:http://www.blogjava.net/xylz/archive/2010/07/04/325206.htmlhttp://blog.hesey.net/2011/09/resolve-aba-by-atomicstampedreference.htmlhttp://www.searchso
2017-10-28 20:13:41 168
转载 notify发生死锁的情景
JVM多个线程间的通信是通过 线程的锁、条件语句、以及wait()、notify()/notifyAll组成。下面来实现一个启用多个线程来循环的输出两个不同的语句:package com.tyxh.block;class OutTurn { private boolean isSub = true; private int count
2017-10-27 17:32:08 262
转载 JVM知识点总览-中高级Java工程师面试必备
JVM知识点总览-中高级Java工程师面试必备 对于搞开发的我们其实也是一样,现在流行的框架越来越多,封装的也越来越完善,各种框架可以搞定一切,几乎不用关注底层的实现,初级程序员只要熟悉基本的使用方法,便可以快速的开发上线;但对于高级程序员来讲,内功的修炼却越发的重要,比如算法、设计模式、底层原理等,只有把这些基础熟练之后,才能在开发过程中知其然知其所以然,出现问题时能快
2017-10-27 16:19:49 178
转载 一个简单的单例示例
一个简单的单例示例单例模式可能是大家经常接触和使用的一个设计模式,你可能会这么写public class UnsafeLazyInitiallization { private static UnsafeLazyInitiallization instance; private UnsafeLazyInitiallization() { } pub
2017-10-27 10:29:59 399
转载 关于SimpleDateFormat安全的时间格式化线程安全问题
想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步代码来避免问题。下面我们通过一
2017-10-23 16:08:44 213
转载 java高级工程师面试题总结
、面试题基础总结1、 JVM结构原理、GC工作机制详解答:具体参照:JVM结构、GC工作机制详解 ,说到GC,记住两点:1、GC是负责回收所有无任何引用对象的内存空间。 注意:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,2、GC回收机制的两种算法,a、引用计数法 b、可达性分析算法( 这里的可达性,大家可以看基础2 Java对象的什么周期),至于更详细的G
2017-10-23 15:46:59 2149
转载 浅谈http中Get与Post的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1.根
2017-10-23 15:28:40 231
转载 Java并发编程
Java并发编程:深入剖析ThreadLocal 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二.
2017-10-21 23:04:05 136
转载 springmvc源码分析----入门看springmvc的加载过程
springmvc源码分析----入门看springmvc的加载过程接上一篇我们写的入门---http://www.cnblogs.com/duanxiaojun/p/6591448.html今天从这个门里进去我们看springmvc是如何在容器启动的时候将各个模块加载完成容器的创建的。我知道在web.xml文件中我们是这样配置springmvc的:我们的加载的入口就是
2017-10-19 10:50:41 539
转载 MYSQL性能优化的最佳20+条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. 为
2017-10-17 18:00:48 154
转载 Spring事务传播特性实例解析
原文地址:http://blog.csdn.net/liovey/article/details/14149137背景介绍 目前系统正在进行代码重构前期预研工作,目标采用spring控制事务以减少开发代码量,提高开发效率。同时避免开发人员编码控制事务所带来的链接没有释放,事务没有提交,出现异常事务没有回滚的Bug。 为保证系统能正确使用Sp
2017-10-17 14:23:57 169
转载 mysql 乐观锁实现
mysql 乐观锁实现一、为什么需要锁(并发控制)? 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。 典型的冲突有: 1.丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。 2.脏读:当一
2017-10-15 22:59:08 1871
转载 redis使用watch完成秒杀抢购功能
redis使用watch完成秒杀抢购功能 redis使用watch完成秒杀抢购功能:使用redis中两个key完成秒杀抢购功能,mywatchkey用于存储抢购数量和mywatchlist用户存储抢购列表。它的优点如下:1. 首先选用内存数据库来抢购速度极快。2. 速度快并发自然没不是问题。3. 使用悲观锁,会迅速增加系统资源。4. 比队列强的多,队列会使
2017-10-15 22:26:50 257
转载 秒杀和抢购
电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因?一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个
2017-10-15 22:11:12 328
转载 秒杀业务分析架构
1 秒杀业务分析正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;2 秒杀技术挑战假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技
2017-10-15 20:24:34 456 1
HtmlImageGenerator.rar
2020-09-25
openoffice_API.rar
2020-06-29
ExpordWord_demo.zip
2020-06-09
AndroidWorkspace.zip
2020-01-12
spring-boot-mail
2018-07-28
myflow流程图设计采用raphael的js文件
2018-01-25
Maven + Spring mvc + Mybatis + Velocity +国际化配置 demo
2017-04-26
vb6链接firebird样例
2017-03-02
ws(websocket)例子(xsocket\xlightweb)
2017-03-01
jacob-1.17-M2完整包
2017-02-13
后台模板HTML+整套Easyui皮肤组件-后台管理系统模板
2016-12-22
php+mysql超市进销存管理系统(SmPSS)
2016-08-26
断点续传服务
2016-06-13
nexus内置jetty安装
2016-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人