自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JAVA大菜鸟Eric

Adding manpower to a late software project makes it later

  • 博客(43)
  • 收藏
  • 关注

转载 mysql建立索引的几大原则

1.选择唯一性索引唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话,可能存在同名现象,从而降低查询速度。2.为经常需要排序、分组和联合操作的字段建立索引经常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多

2017-05-18 09:10:09 404

转载 全面分析 Spring 的编程式事务管理及声明式事务管理

Spring 事务属性分析事务管理对于企业应用而言至关重要。它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性。就像银行的自助取款机,通常都能正常为客户服务,但是也难免遇到操作过程中机器突然出故障的情况,此时,事务就必须确保出故障前对账户的操作不生效,就像用户刚才完全没有使用过取款机一样,以保证用户和银行的利益都不受损失。在 Spring 中

2017-03-07 08:18:43 300

转载 高并发量网站解决方案

一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的ht

2017-03-06 23:47:27 330

转载 springmvc工作原理

SpringMVC框架介绍Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts

2017-03-06 23:45:18 315

转载 java对象的强引用,软引用,弱引用和虚引用

众所周知,Java中是JVM负责内存的分配和回收,这是它的优点(使用方便,程序不用再像使用c那样操心内存),但同时也是它的缺点(不够灵活)。为了解决内存操作不灵活这个问题,可以采用软引用等方法。      在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果

2017-03-06 00:47:35 210

转载 NIO与传统IO的区别

传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。 

2017-03-06 00:12:31 321

转载 深入理解java线程池

如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?  在Java中可以通过线程池来达到这样的效果。今天我们就来详细讲解一下Java的线程池,首先我们从最核心的ThreadPoolExec

2017-03-05 23:34:35 221

转载 StringBuffer和StringBuilder的区别

无论是做Java或是Android,都避免不了遇到这个问题,其实开发过程中一般情况下是不会纠结,这个问题是面试必选经典题,今天有时间,就总结一下。String、StringBuffer、StringBuilder区别StringBuffer、StringBuilder和String一样,也用来代表字符串。String类是不可变类,任何对String的改变都 会引发新的Str

2017-03-05 23:30:28 258

转载 深入理解ThreadLocal

相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路;ThreadLocal的目的是为了解决多线程访问资源时的共享问题。如果你也这样认为的,那现在给你10秒钟,清空之前对ThreadLocal的错误的认知!看看JDK中的源码是怎么写的:This class provides thread-lo

2017-03-05 17:07:29 322

转载 HashMap实现原理

1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。      数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。

2017-03-04 16:38:35 224

转载 数据库设计原则

1. 原始单据与实体之间的关系   可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。 这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。   〖例1〗:一份员工履历资料,在人力资源信息系统中,

2017-03-04 01:58:16 2340

原创 一个递归遍历文件夹的例子

在项目里面用到的,在一个文件夹下找到所有的msml格式的文件,用String返回它们的绝对路径,都放在一个list里。文件夹下可能还有文件夹,msml文件可能放在任何一级的文件夹下,这里实际上写了一个最基本的递归文件夹去找某个符合要求的选项的方法。1234567891011

2017-03-04 01:04:25 327

原创 tomcat性能调优方案

试想以下这个情景:你已经开发好了一个程序,这个程序的排版很不错,而且有着最前沿的功能和其他一些让你这程序增添不少色彩的元素。可惜的是,程序的性能不怎么地。你也十分清楚,若现在把这款产品退出市场,肯定会给客户骂得狗血淋头。因为不管样子多么好看,性能才是客户们最需要的。如果你在软件实际运行中使用了Tomcat服务器,那么这篇文章将能让你学到一些能提高Tomcat服务器性能的方法。在此我先得感谢ITWo

2017-03-02 12:48:54 406

转载 tomcat工作原理

大致的架构是 jsp+tomcat+MySQL,记录tomcat学习一点笔记。Tomcat是Servlet运行环境(容器),每个servlet执行init(),service(),destory()以下是servlet的作用Servlet的调用Tomcat的工作模式3种:独立Servlet,进程内servlet,进程外servlet。Tomc

2017-03-02 12:43:33 380

转载 Servlet生命周期与工作原理

Servlet生命周期分为三个阶段:  1,初始化阶段  调用init()方法  2,响应客户请求阶段  调用service()方法  3,终止阶段  调用destroy()方法Servlet初始化阶段:  在下列时刻Servlet容器装载Servlet:    1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.X

2017-03-02 00:03:45 249

转载 JVM内幕:Java虚拟机详解

这篇文章解释了Java 虚拟机(JVM)的内部架构。下图显示了遵守 Java SE 7 规范的典型的 JVM 核心内部组件。 上图显示的组件分两个章节解释。第一章讨论针对每个线程创建的组件,第二章节讨论了线程无关组件。线程JVM 系统线程每个线程相关的程序计数器栈本地栈栈限制栈帧局部变量数组操作数栈动态链接线程共享堆内存管理非堆内存即时编译方

2017-02-28 01:19:08 291

转载 SpringMvc的controller是singleton的(非线程安全的)

springmvc的controller是singleton的(非线程安全的),这也许就是他和struts2的区别吧和Struts一样,Spring的Controller默认是Singleton的,这意味着每个request过来,系统都会用原有的instance去处理,这样导致了两个结果:一是我们不用每次创建Controller,二是减少了对象创建和垃圾收集的时间;由于只有一个Controll

2017-02-24 02:41:15 475

转载 Select For Update行级锁定

Oracle的Select For Update语句可以实现在读取数据后马上锁定相关资源,防止被其他session修改数据的目的。也就是我们常常谈到的“悲观锁定”(现实应用开发中,使用悲观锁定的情况少之又少,也许是因为乐观锁定的实现更加灵活和便捷的缘故)。这个小文儿做一个小小的实验,来看看Select For Update语句实现的行级锁定1.创建实验表table_sfu,并初始化三条

2017-02-24 01:56:57 2903

转载 一分钟教你知道乐观锁和悲观锁的区别

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改

2017-02-24 01:32:52 432

转载 理解事务的4种隔离级别

本文系转载,原文地址:http://singo107.iteye.com/blog/1175084数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现    ×: 不会出现

2017-02-24 01:13:22 578

转载 mybatis 中#与$的区别

MyBatis/Ibatis中#和$的区别1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中。如:order by $us

2017-02-24 00:57:18 253

转载 spring mvc 是否要设置@Scope("prototype")

spring MVC Controller默认是单例的:单例的原因有二:1、为了性能。2、不需要多例。1、这个不用废话了,单例不用每次都new,当然快了。2、不需要实例会让很多人迷惑,因为spring mvc官方也没明确说不可以多例。   我这里说不需要的原因是看开发者怎么用了,如果你给controller中定义很多的属性,那么单例肯定会出现竞争访问了。

2017-02-24 00:46:50 1821

转载 <jsp:include>和<%@include%>的区别

前天上了jsp的课,老师讲了一下和的区别,由于演示的太快,我没有看太清,所以回来之后,自己又写了个例子,好好看看,还是发现了一些东西的。 :动态包含第一种情况(包含的是html文件):DynamicInclude.jsp:[html] view plain copy%@pagecontentType="text

2017-02-22 18:35:09 3821

原创 flex访问java服务器的httpservice的沙箱处理

增加了策略文件 crossdomain.xml          放到http服务下,还是不行。最后查资料,发现策略文件还要加一句               关于crossdomain.xml的放置目次题目,有如下解决规划,可放置在: 1/ 若是这个目次是容器的根目次,可以经由过程以下的url接见cros

2016-10-17 22:32:08 290

转载 解决Flex4 发布后访问 初始化极其缓慢的问题

昨天找了个免费.net空间,想测试一下做的一个简单flex4 上传项目的效果。上传所有文件到网站之后,访问项目页面,进度条一点一点艰难的向前移动开发其他 ,到了100%后却不出现程序界面,等待一会儿还是没有出现,于是 我去做了别的事情,n分钟之后再来看的时候界面才终于出来了。程序倒是没有问题,可以上传文件。但是这慢到令人发指的初始化加载速度却令人吃惊,很难想象 如果用户需要等待这么长时间才能成

2016-10-13 15:01:49 573

原创 linux免密码互相登录

系统:CentOS6.71.用ssh-key-gen在本地主机上创建公钥和私钥ssh-keygen -t rsa一路回车,注意第一个回车的位置是问你公钥和私钥的存储目录,我的机器是/root/.sshEnter file in which to save the key (/root/.ssh/id_rsa): 完成后在/root/.ssh下会创建两个文件,分别为公

2016-05-27 13:01:06 275

原创 HBase单机环境搭建

准备环境:1.CentOS6.72.jdk-7-linux-i586.tar.gz3.hbase-0.94.12.tar.gz4.安装目录/usr/local一、解压缩HBasecd /usr/localtar -zxvf hbase-0.94.12.tar.gzcd hbase-0.94.12.tar.gz二、修改配置文件1.修改hbase

2016-05-27 10:17:58 341

原创 Linux下安装配置tomcat并部署javaweb项目

准备环境:CentOS6.7apache-tomcat-7.0.54.tar.gzjdk-7-linux-i586.tar.gz一、安装jdk将安装包jdk-7-linux-i586.tar.gz放在/usr/local目录下cd /usr/localtar -zxvf jdk-7-linux-i586.tar.gz配置环境变量vim /etc/prof

2016-05-23 13:19:32 1742

原创 CentOS6网卡静态IP设置

CentOS网卡配置源文件如下:DEVICE=eth0HWADDR=00:0C:29:A8:67:46TYPE=EthernetUUID=4103d7a8-d073-4e93-ac68-e6f8496f35f0ONBOOT=noNM_CONTROLLED=yesBOOTPROTO=dhcp1.CentOS系统DHCP获取IP,请按照如下配置进行设置:vim

2016-05-23 12:46:00 572

转载 怎样查看CentOS版本

有以下命令可以查看:lsb_release -aLSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarchDistributor ID: CentOSDescription:    CentOS release 5.4 (Final)Release:        5.

2016-05-22 17:50:25 507

原创 Linux下安装配置Redis

我使用的环境:操作系统:CentOS6.5软件:redis-2.8.10.tar.gz软件包解压目录:/usr/local1.解压安装包cd /usr/localtar -zxvf redis-2.8.10.tar.gzcd redis-2.8.102.编译安装make如果报gcc类错误:yum install -y gcc g++ gc

2016-05-22 11:15:13 388

转载 xshell不能连接VM中的ubuntu

昨天在VMware Player中安装了ubuntu系统,今天想通过xshell连接ubuntu,结果显示 Connecting to 10.7.100.182:22... Could not connect to '10.7.100.182' (port 22): Connection failed. VM中网络连接设置了Bridge模式。 网络查找解决办法如下: xsh

2016-05-21 11:22:25 384

原创 Linux下使用yum安装软件

想下载某个软件,可以通过wget命令,我们也可以使用yum把若干下载地址进行管理,并且可以一键下载安装软件,十分方便以安装vim为例输入rpm -qa|grep vim 命令, 如果 vim 已经正确安裝,会返回下面的三行代码:vim-enhanced-7.0.109-7.el5vim-minimal-7.0.109-7.el5vim-common-7.0.109-7.el5

2016-05-20 14:28:55 775

原创 Linux下安装MariaDB10

MariaDB作为mysql的一个分支,与mysql完全兼容,所以对于mysql有效的操作,包括安装,卸载,使用,主从库配置等等同样对于MariaDB也有效,甚至主库使用MariaDB,从库使用mysql,都是可以的,因此可以将MariaDB完全看做mysqlMariaDB5.5之前的版本编号与mysql是同步的,5.6之后使用10作为编号,最新的版本编号为10.1.xx因此,既然这货就是

2016-05-20 10:55:50 6771

原创 MySQL主从库配置和主库宕机解决方案

原理:MySQL从库上有一个IO线程负责从主库取binlog写到本地,另外有一个SQL线程负责执行这些本地值日,实现命令重做一、准备工作系统:CentOS软件包:mysql-5.6.22.tar.gzmaster服务器:192.168.1.112slave服务器1:192.168.1.102slave服务器2:192.168.1.104二、修改maste

2016-05-18 10:20:49 23068

原创 nginx的配置文件详细说明

当安装好nginx以后,需要修改ngin.conf文件,使其为我们所用vi /usr/local/nginx/conf/nginx.conf配置说明如下:#运行用户user www-data;    #启动进程,通常设置成和cpu的数量相等worker_processes  1;#全局错误日志及PID文件error_log  /var/log/nginx

2016-05-15 11:44:01 476

原创 Linux下安装nginx

准备工作:使用的系统:CentOS5.9使用的软件:直接在百度上搜索有很多下载资源PCRE库:pcre-8.21.tar.gzZLIB库:zlib-1.2.8.tar.gzOPENSSL库:openssl-1.0.1c.tar.gzNGINX主程序:nginx-1.6.0.tar.gz使用的目录:/usr/local1.安装PCRE库必选项,ngin

2016-05-15 11:17:31 411

原创 将tomcat添加为linux系统服务

1.复制catalina.sh作为系统服务脚本cp /usr/java/tomcat/bin/catalina.sh /etc/init.d/tomcat    #重命名的tomcat为以后的服务名2.修改脚本vi /etc/init.d/tomcat在脚本较前面的位置加下面两行注释#chkconfig:2345 10 90#description:Tomcat s

2016-05-06 17:42:22 10157 3

转载 nginx的upstream目前支持的5种方式的分配

nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。一、nginx的upstream目前支持的5种方式的分配:1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。upstream backserver

2016-05-06 16:43:27 1054

原创 Linux如何打开关闭端口及终止进程的方式

1、vi /etc/sysconfig/iptables*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -i lo -j ACCEPT-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT-A I

2016-05-05 19:52:51 3331

空空如也

空空如也

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

TA关注的人

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