
我的饭碗
文章平均质量分 74
network_boy
爱编码,爱框架,爱原理,爱打游戏
展开
-
IntelliJ IDEA+Tomcat+Jrebel 开发及热部署
一、软件安装ideaIU 下载地址: http://www.jetbrains.com/idea/download/index.htmlapache-tomcat 下载地址: http://www.apache.org/dist/tomcat/JRebel 网上一大堆,请自行尽情搜索JRebel安装步骤: 安装完ideaIU之转载 2015-04-25 16:25:19 · 856 阅读 · 0 评论 -
spring单例和多例详解。如何在单例中调用多例对象
spring生成对象默认是单例的。通过scope属性可以更改为多例。[html] view plaincopybean id="user" class="modle.User" scope="prototype"> bean> 现在又这么一种情况.User类调用一个service, 这个servic转载 2015-04-11 21:50:17 · 780 阅读 · 0 评论 -
Redis、Memcached、Guava、Ehcache中的算法
http://calvin1978.blogcn.com//articles/lru.html缓存那些事,一是内存爆了要用LRU(最近最少使用)、LFU(最少访问次数)、FIFO的算法清理一些;二是设置了超时时间的键过期便要删除,用主动或惰性的方法。 1. LRU简单粗暴的Redis今天看Redis3.0的发行通告里说,LRU算法大幅提升了,就翻开源码来转载 2015-04-06 12:49:13 · 646 阅读 · 0 评论 -
spring切点切面aop——xml非注解
aop代理就是到了某个方法(被称为“切点”),在执行这个方法之前干什么、之后干什么、异常了有什么等(这些在“切面”中定义) xmlns:context="http://www.springframework.org/schema/context" xmlns:aop=http://www.springframewor转载 2015-04-11 21:30:21 · 851 阅读 · 0 评论 -
Java中static 和final的区别
Java中static 和final的区别原创 2015-04-11 20:12:53 · 563 阅读 · 0 评论 -
Java中数据库连接池原理机制的详细讲解
连接池的基本工作原理 1、基本概念及原理 由上面的分析可以看出,问题的根源就在于对数据库连接资源的低效管理。我们知道,对于共享资源,有一个很著名的设计模式:资源池 (Resource Pool)。该模式正是为了解决资源的频繁分配?释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接 建立一个“缓冲池”。预先在缓冲池中放入一定数量的连转载 2015-04-06 13:53:10 · 433 阅读 · 0 评论 -
java中的io系统详解
Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamReader 和 OutputStreamWr转载 2015-04-06 13:28:20 · 414 阅读 · 0 评论 -
pring事务管理(注解式声明事务管理)
步骤一、在spring配置文件中引入命名空间 xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"转载 2015-04-11 20:59:06 · 655 阅读 · 0 评论 -
Java开发牛人十大必备网站
新时代的学习不再是陈旧的课堂教学,而是个性化的学习,而网络自学也成为很多人的学习新方式,网站可以提供信息,以及一些很棒的讲座, 还能解答一般问题、面试问题等,质量是衡量一个网站的关键因素。日前,一个资深程序员为我们推荐了他搜集的一些Java开发必备的网站,不妨来看下:Stackoverflow:有成千上万个好问题和答案DZone:有相当多的开发者在这个网站上分享他们博客文章LeetCode转载 2015-04-04 10:01:41 · 559 阅读 · 0 评论 -
Java死锁范例以及如何分析死锁
死锁是两个甚至多个线程被永久阻塞时的一种运行局面,这种局面的生成伴随着至少两个线程和两个或者多个资源。在这里我已写好一个简单的程序,它将会引起死锁方案然后我们就会明白如何分析它。Java死锁范例ThreadDeadlock.java123456789101112转载 2015-04-05 16:00:50 · 679 阅读 · 1 评论 -
ActiveMQ(一)
ActiveMQ(一)原创 2015-04-04 09:52:56 · 627 阅读 · 0 评论 -
深入分析Java ClassLoader原理
http://blog.youkuaiyun.com/xyang81/article/details/7292380一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的转载 2015-04-04 10:34:57 · 535 阅读 · 0 评论 -
NIO 入门
新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的。NIO 弥补了原来的 I/O 的不足,它在标准 Java 代码中提供了高速的、面向块的 I/O。通过定义包含数据的类,以及通过以块的形式处理这些数据,NIO 不用使用本机代码就可以利用低级优化,这是原来的 I/O 包所无法做到的。在本教程中,我们将讨论 NIO 库的几乎所有方面,从高级的概念性内容到底层的编程细节。除了学习诸如缓转载 2015-04-11 23:23:30 · 472 阅读 · 0 评论 -
list 和 Set
list 和 Set原创 2015-04-07 10:00:57 · 1112 阅读 · 0 评论 -
velocity模板引挚
vm模板设计原则让前端来写后端的vm模板,并且前端不需要搭建各种繁杂的后端环境,前后端以 .vm 为沟通桥梁,另外模板的数据源可以在项目开始前前后端约定之后生成JSON文件,从而使两个角色并行开发。velocity模板引挚velocity模板语法的javascript实现,Velocity是基于Java的模板引擎,应用广泛。Velocity模板适用于大量模板使用的场转载 2015-04-16 19:38:01 · 1041 阅读 · 0 评论 -
java序列化与反序列化总结
很多商业项目用到数据库、内存映射文件和普通文件来完成项目中的序列化处理的需求,但是这些方法很少会依靠于Java序列化。本文也不是用来解释序列化的,而是一起来看看面试中有关序列化的问题,这些问题你很有可能不了解。“Java序列化指的是将对象转换程字节格式并将对象状态保存在文件中,通常是.ser扩展名的文件。然后可以通过.ser文件重新创建Java对象,这个过程为返序列化”Java序列化的AP转载 2015-04-15 15:03:18 · 655 阅读 · 0 评论 -
高性能高并发 面试
转载:http://www.cnblogs.com/heartstage/p/3415584.htmlredis,nginx/Tengine,keeplive,DRBD,heartbeat这些小工具还是可以在虚拟机上面多开几台跑起来的.至于大业务场景,除了进大公司没有别的办法,因为有些工具运行的配置要求太高,必须多台服务器配合才能完成.如果有精力,业内很喜欢用perl,python转载 2015-04-14 21:58:26 · 4971 阅读 · 0 评论 -
设计模式(Design Patterns)
转载:http://blog.youkuaiyun.com/zhangerqing一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模转载 2015-04-13 22:33:58 · 982 阅读 · 0 评论 -
MySQL索引原理及慢查询优化
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问转载 2015-04-13 14:47:52 · 572 阅读 · 0 评论 -
五分钟理解一致性哈希算法(consistent hashing)
一致性哈希算法在 1997 年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和 CARP 十分类似。一致性哈希修正了 CARP 使用的简单哈希算法带来的问题,使得分布式哈希(DHT)可以在 P2P 环境中真正得到应用。一致性 hash 算法提出了在动态变化的 Cache 环境中,判定哈希算法好坏的四个定义:1转载 2015-04-13 14:21:02 · 518 阅读 · 0 评论 -
TCP连接建立过程中为什么需要“三次握手”
传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的运输层(Transport layer)通信协议。是专门为了在不可靠的互联网络上提供一个可靠的端到端字节流而设计的。互联网络与单个网络不同,因为互联网络的不同部分可能有着截然不同的拓扑、带宽、延迟、分组大小和其他参数。TCP的设计目标是能够动态的适应互联网络的这些特性,而且当转载 2015-04-12 14:30:37 · 616 阅读 · 0 评论 -
java多线程之Semaphore信号量详解
信号量在操作系统中一般用来管理数量有限的资源.每类资源有一个对应的信号量.信号量的值表示资源的可用数量.在使用资源时,要先从该信号量上获取一个使用许可.成功获取许可之后,资源可用数量减1.在持有许可期,使用者可以对获取资源进行操作.完成对资源的使用之后,需要在信号量上释放一个许可,资源可用数加1,允许其他使用者获取资源.当资源可用数为0的时候,需要获取资源的线程以阻塞的方式来等待资源变为可用,或者转载 2015-04-12 23:45:16 · 538 阅读 · 0 评论 -
乐观锁与悲观锁的区别
在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:l 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。l 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用转载 2015-04-12 23:43:10 · 515 阅读 · 0 评论 -
Java7之线程池ForkJoinPool
许多情况下,在一个程序中使用多线程是有益处的,可以大大提高程序的效率,多线程主要有以下3个优点1,资源利用率更好2,程序设计在某些情况下更简单3,程序响应更快。当然凡事有利就有弊,多线程也会使程序的开发,维护及调试更加复杂,当然如果我们能够扬长避短,在正确的场合下使用多线程,那么它将成为我们程序中开发的利器。 Java一直以来,对多线程的开发支持比较良好,特别在JDK5,6后引入的ja转载 2015-04-12 23:39:52 · 696 阅读 · 0 评论 -
并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要转载 2015-04-12 23:30:50 · 455 阅读 · 0 评论 -
深入研究 Java Synchronize 和 Lock 的区别与用法
在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方。 我们先从最简单的入手,逐步分析这2种的区别。 一、synchronized和lock的用法区别 synchronized:在需要同步的对象中加入此控制,synchronized转载 2015-04-12 23:04:37 · 539 阅读 · 0 评论 -
Linux下安装Nginx详细图解教程
Linux下安装Nginx详细图解教程 什么是Nginx?Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下Nginx 是 Apache 服务器不错的替代品.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好.目前中国大陆使用ng转载 2015-04-10 11:37:06 · 427 阅读 · 0 评论 -
[置顶] 最常用的15大Eclipse开发快捷键技巧
引言 做java开发的,经常会用Eclipse或者MyEclise集成开发环境,一些实用的Eclipse快捷键和使用技巧,可以在平常开发中节约出很多时间提高工作效率,下面我就结合自己开发中的使用和大家分享一下Eclipse中常用到的快捷键和技巧。 1、alt+?或alt+/:自动补全代码或者提示代码这个是我最得意的快捷键组合了,尤其是当输入syso几个字符之后,2个转载 2015-04-10 09:45:46 · 2046 阅读 · 0 评论 -
Java线程学习Top 50
本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入翻译小组。转载请见文末要求。不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面转载 2015-04-03 10:13:05 · 457 阅读 · 0 评论 -
java垃圾回收
java垃圾回收原创 2015-04-02 23:17:51 · 581 阅读 · 0 评论 -
事务隔离级别
为了避免上面出现的几种情况,在标准SQL规范中,定义了4个事务隔离级别,不同的隔离级别对事务的处理不同。未授权读取也称为读未提交(Read Uncommitted):允许脏读取,但不允许更新丢失。如果一个事务已经开始写数据,则另外一个事务则不允许同时进行写操作,但允许其他事务读此行数据。该隔离级别可以通过“排他写锁”实现。授权读取也称为读提交(Read Committed):允许不原创 2015-04-02 15:13:46 · 415 阅读 · 0 评论 -
ExecutorService线程池的用法
在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过 Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特性。一、创建任务 任务就是一个实现了Runnable接口的类。 创建的时候实run方法即可。 二、执行任务原创 2015-04-02 15:07:40 · 441 阅读 · 0 评论 -
Servlet单实例以及线程安全小结
Servlet 3.0笔记之Servlet单实例以及线程安全小结众所周知,Servlet为单实例多线程,非线程安全的。若一个Servlet对应多个URL映射,那么将会生成一个还是多个Servlet实例呢?最好的办法就是动手体验一下@WebServlet({ "/demoServlet1", "/demoServlet2" })public class DemoServl原创 2015-04-02 15:21:20 · 432 阅读 · 0 评论 -
Mysql事务处理
Mysql事务处理原创 2015-04-02 15:43:44 · 852 阅读 · 0 评论 -
JVM必备指南
Java虚拟机(JVM)是Java应用的运行环境,从一般意义上来讲,JVM是通过规范来定义的一个虚拟的计算机,被设计用来解释执行从Java源码编译而来的字节码。更通俗地说,JVM是指对这个规范的具体实现。这种实现基于严格的指令集和全面的内存模型。另外,JVM也通常被形容为对软件运行时环境的实现。通常JVM实现主要指的是HotSpot。JVM规范保证任何的实现都能够以同样的方式解释执行字节码转载 2014-12-14 14:42:22 · 430 阅读 · 0 评论 -
高并发ConcurrentHashMap使用注意事项
1.public class javaThreadTest implements Runnable { ConcurrentHashMap map = new ConcurrentHashMap(); @Test public void threadtest() { map.put("test", 0); for (原创 2015-01-07 17:12:10 · 2051 阅读 · 0 评论 -
使用HTML5 跨域共享特性解决AJAX跨域数据同步问题
使用HTML5 跨域共享特性解决AJAX跨域数据同步问题原创 2015-04-02 23:48:36 · 1536 阅读 · 0 评论 -
java socket编程
java socket编程原创 2015-04-02 23:20:37 · 401 阅读 · 0 评论 -
高容量大兵法访问解决方案概述
高容量大兵法访问解决方案概述一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防转载 2015-04-02 15:47:32 · 432 阅读 · 0 评论 -
estful_api
GET /zoos:列出所有动物园POST /zoos:新建一个动物园GET /zoos/ID:获取某个指定动物园的信息PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)DELETE /zoos/ID:删除某个动物园GET /zoos/ID/animals:列出某个指定动物园的所有动物DELE原创 2015-04-02 15:09:57 · 571 阅读 · 0 评论