自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (6)
  • 收藏
  • 关注

原创 各种排序算法的分析及java实现

排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。  排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。  内排序有可以分为以下

2014-07-15 10:20:30 619

转载 maven解决jar包版本冲突

举个栗子 A依赖于B及C,而B又依赖于X、Y,而C依赖于X、M,则A除引B及C的依赖包下,还会引入X,Y,M的依赖包(一般情况下了,Maven可通过等若干种方式控制传递依赖)。 这里有一个需要特别注意的,即B和C同时依赖于X,假设B依赖于X的1.0版本,而C依赖于X的2.0版本,A究竟依赖于X的1.0还是2.0版本呢? 这就看Classloader的加载顺序了,假设Clas

2017-07-16 18:06:50 596

原创 常用mysql命令

查看数据库中有哪些用户SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。­

2017-03-21 17:31:18 303

原创 常用linux命令

查看消息总线,从这里可以看到消息总线是否正常telnet 192.168.119.123 30001list  l都列出来,如ist用来把所有的监听果有两个,那么就异常count -sub 16001telnet 192.168.119.129 30001列出所有监听端口,如果是其他人的,需要加上sudo。如果要列出pid,那么加上参数pnetsta

2017-03-21 17:30:22 315

原创 children和childNodes差异

1,childNodes 属性,标准的,它返回指定元素的子元素集合,包括html节点,所有属性,文本。可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点,3是文本节点。 有些人错误的使用()去取该集合元素,下表列出各浏览器对childNodes(i)的支持情况: IE6/7/8Firefox3.5Sa

2017-02-04 20:04:36 317

转载 常见的线程问题

前言Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作

2017-01-29 16:45:25 290

原创 数据库乐观锁

百上千个并发,这样的情况将导致怎样的后果。 乐观锁机制在一定程度上解决了这个问题。乐观锁,大多是基于数据版本 ( Version )记录机制实现。何谓数据版本?即为数据增加一个版本标识,在基于 数据库表的版本解决方案中,一般是通过为数据库表增加一个 “version” 字段来 实现。 读取出数据时,将此版本号一同读出,之后更新时,对此版本号加一。此时,将提 交数据的版本数据

2017-01-29 12:15:51 1359

转载 hashmap transfer方法分析

/** * Transfers all entries from current table to newTable. */void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTable.length; for (EntryK,V> e : table) { while(

2016-12-30 16:02:17 2629 1

原创 Linux的chattr命令详解

有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命

2016-12-25 14:57:13 543

转载 Java并发编程:线程池的使用

在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?  在Java中可以通过线程池

2016-10-12 16:56:23 279

原创 java.util.concurrent 包中Executor与Executors的区别

1、Executor是Java线程池的顶级接口      Executor类的继承关系:       备注:ScheduledExecutorService描述的功能和Timer/TimerTask类似,解决那些需要任务重复执行的问题。这包括延迟时间一次性执行、延迟时间周期性执行以及固定延迟时间周期性执行等。当然了继承ExecutorService的ScheduledE

2016-10-12 16:31:57 2414

转载 一个 redis 异常访问引发 oom 的案例分析

这两天碰到一个线上系统的偶尔出现突然堆内存暴涨,这倒不是个什么疑难杂症, 只是过程中有些思路觉得可以借鉴参考,故总结下并写下来。现象内存情况可以看看下面这张监控图。一天偶尔出现几次,持续时间一般几分钟不等。 当这种情况出现时,我们检查错误日志,发现有下面两几种 OOM 错误。java.lang.OutOfMemoryError: GC overhead

2016-10-11 22:01:06 674

转载 java中synchronized与static synchronized 的区别

最近在做一个抽奖活动的计数器,由于抽奖是有人数限制的,所以需要保存抽奖人数;如果保存在数据库中,那每次进来都得读写数据库,将会造成很大的IO操作,就在内存中保存抽奖人数,用map实与!这里肯定会存在多线程的,所以map是这样产生的:[java] view plain copy print?public static Map maxNum = 

2016-10-11 21:51:02 496

原创 1099端口占用问题解决方案

最近在开发的时候,IDEA工具意外退出了,再次启动之后,启动web工程报1099端口已经被占用了,现在将解决方法总结如下:1.在windows命令行窗口下执行:C:\>netstat -aon|findstr "1099,然后查看输出结果,如下图:" 看到了吗,端口被进程号为1484的进程占用,继续执行下面命令:C:\>tasklist|findstr "1

2016-05-25 11:32:12 22613 1

原创 Jaxb annotation初步使用

一.Jaxb处理java对象和xml之间转换常用的annotation有:@XmlType@XmlElement@XmlRootElement@XmlAttribute@XmlAccessorType@XmlAccessorOrder@XmlTransient@XmlJavaTypeAdapter二.常用annotation使用说明@XmlType  @

2016-05-10 18:11:51 545

转载 sql练习

建库建表--create database companycreate database company;use company;--create tables--部门表create table dept(deptno int(3) primary key,dname varchar(14),loc varchar(13));

2016-05-02 13:06:57 573

转载 静态代理和动态代理

所谓的代理设计就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。     系统中经常有这种需求:在某些操作前需要进行验证操作,比如:在添加/删除操作时,先进性用户信息验证,确认该用户是否拥有这些操作的权限。代码如下:[java] view plain copy //UserManager

2016-04-08 10:35:10 288

转载 常见sql面试题

有3个表S,C,SCS(SNO,SNAME)代表(学号,姓名)  //主键:SNO    //多个人,多门课 3张表   ,SC 关系表C(CNO,CNAME,CTEACHER)代表(课号,课名,教师)//主键:CNOSC(SNO,CNO,SCGRADE)代表(学号,课号成绩)//主键:SNO+CNO 问题:1.找出没选过“黎明”老师的所有学生名字。select

2016-03-30 22:41:43 1523

转载 事务的传播行为

文章一:我们都知道事务的概念,那么事务的传播特性是什么呢?(此处着重介绍传播特性的概念,关于传播特性的相关配置就不介绍了,可以查看spring的官方文档) 在我们用SSH开发项目的时候,我们一般都是将事务设置在Service层 那么当我们调用Service层的一个方法的时候它能够保证我们的这个方法中执行的所有的对数据库的更新操作保持在一个事务中,在事务层里面调用的这些方法要么全部成功,

2016-03-23 23:43:11 266

原创 java实现两个有序数组的合并

思想:先依次比较两个数组,按照小的就传入新的数组。当这次比较完之后可能有一个数组的长度很长,留下一些数组,然后在新数组的末尾插入即可。代码:  1 class ArraySort 2 { 3     //两个有序数组的合并函数 4     public static int[] MergeList(int a[],int b[]) 5     { 6

2016-03-23 10:37:14 4440 1

原创 mysql索引失效的几种情况

索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:    1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)  注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引  2.对于多列索引,不是使用的第一部分,则不会使用索引  3.like查询是以%开头    4.如

2016-03-23 00:30:47 1683

转载 mysql数据库隔离级别详解

SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容)       在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirt

2016-03-23 00:05:26 247

原创 二叉树的前序、中序、后序遍历

递归方式:/**  * 实现二叉树的创建、前序遍历、中序遍历和后序遍历  **/  package DataStructure;    /**  * Copyright 2014 by Ruiqin Sun  * All right reserved  * created  on 2014-9-9 下午2:34:15  **/  public

2016-03-22 22:46:06 429

转载 浏览器中输入URL到返回页面的全过程

在浏览器输入:http://www.baidu.com/,最后,浏览器呈现出相应网页,这个过程究竟发生了什么?第一步,解析域名,找到主机IP(1)浏览器会缓存DNS一段时间,一般2-30分钟不等。如果有缓存,直接返回IP,否则下一步。(2)缓存中无法找到IP,浏览器会进行一个系统调用,查询hosts文件。如果找到,直接返回IP,否则下一步。(在计算机本地目录etc下

2016-03-20 20:34:10 5500

转载 证明HashMap是线程不安全的

在平时开发中,我们经常采用HashMap来作为本地缓存的一种实现方式,将一些如系统变量等数据量比较少的参数保存在HashMap中,并将其作为单例类的一个属性。在系统运行中,使用到这些缓存数据,都可以直接从该单例中获取该属性集合。但是,最近发现,HashMap并不是线程安全的,如果你的单例类没有做代码同步或对象锁的控制,就可能出现异常。首先看下在多线程的访问下,非现场安全的HashMap的表

2016-03-19 11:34:43 4674 1

转载 servlet Filter Listener总结

1、Filter的功能filter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter其实是一个”servlet chaining”(servlet 链).

2015-11-21 16:45:03 519

原创 继承Thread和实现Runable接口的区别

在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程。当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看一下这两种方式实现的两种结果。Java代码  package com.threadtest;  class MyThread extends Thread{        

2015-10-18 12:06:57 514

转载 Nginx使用反向代理时Hessian411错误解决方案(转)

问题描述:用 Hessian 实现 web service 过程中,需要创建对象时,是使用 HTTP POST 方法来传递数据的。但是在有反向代理 (nginx) 的情况下,会抛出异常 (com.caucho.hessian.client.HessianConnectionException: 411:java.io.IOException: Server returned HTTP resp

2015-10-16 14:08:07 698

转载 Zookeeper 的学习与运用

引子云计算越来越流行的今天,单一机器处理能力已经不能满足我们的需求,不得不采用大量的服务集群。服务集群对外提供服务的过程中,有很多的配置需要随时更新,服务间需要协调工作,这些信息如何推送到各个节点?并且保证信息的一致性和可靠性?众所周知,分布式协调服务很难正确无误的实现,它们很容易在竞争条件和死锁上犯错误。如何在这方面节省力气?Zookeeper是一个不错的选择。 Zookeepe

2015-05-19 16:50:57 334

转载 JVM性能调优

JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。    现实企业级Java开发中,有时候我们

2015-04-05 21:56:54 512

转载 十步完全理解SQL

很多程序员视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言)。我们每天都在写 SQL 并且应用在开源软件 jOOQ 中。于是我想把 SQL 之美介绍给那些仍然对它头疼不已的朋友,所以本文是为了以下读者而特地编写的:1、

2015-04-05 20:01:19 313

转载 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b.

题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b.  分析:这道题是2006年google的一道笔试题。  看到这道题时,最直观的想法是从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较,如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符相比较,因此

2015-03-31 16:14:28 3513

转载 mysql explain用法

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了,如:explain select * from statuses_status where id=11;explain列的解释table:显示这一行的数据是关于哪张表的type:这是重要的

2015-03-26 21:46:54 347

转载 JVM 基础知识(GC)

几年前写过一篇关于JVM调优的文章,前段时间拿出来看了看,又添加了一些东西。突然发现,基础真的很重要。学习的过程是一个由表及里,再由里及表的过程,所谓的“温故而知新”。而真正能走完这个轮回的人,也就能称为大牛或专家了。这个过程可能来来回回,这就是所谓“螺旋上升”,而每一次轮回都有新的发现。 这回添加的东西主要集中在基础的一些问题上,还有一些这两年思考的问题。这些问题可能平时我们不会

2015-03-17 10:11:12 424

转载 JAVA设计模式之单例模式

概念:  java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。  单例模式有一下特点:  1、单例类只能有一个实例。  2、单例类必须自己自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、

2015-03-10 22:15:36 334

原创 异步调用实现java

异步调用主要用于当前程序的执行不用等待调用方法执行结束就可以继续执行。用一个最简单的例子来说,当前的方法要调用一个发送短信的方法,但是发送短信的方法调用了外部的接口,这样就导致短信发送方法耗费的时间很长,或者网络的故障等原因使得发送短信的方法影响了当前的程序。    在这种情况下就需要使用异步调用机制,一个正常的程序流程如下:1、进入当前方法2、调用远程方法3、离开

2015-03-06 11:58:46 507

转载 单链表的翻转

前面我们大约把单链表 ADT 的基本操作都过了一遍,但是这还不够。单链表在面试与笔试中出现的几率很高,接下来我们再花点时间把常见的单链表面试题尽可能过一遍,彻底掌握单链表~那开始我们的第一个面试题?不妨做做“单链表反转”,或者说“单链表逆序”吧?还是基于前面的例子。究竟要如何反转呢?我们不妨拿一个例子来说明一下算法。我先画一个单链表,这个单链

2015-02-27 15:09:46 359

转载 单链表就地逆置(Java版),单链java版

题目:有一个线性表(a1,a2,a3,...,an),采用带头节点的单链表L存储,设计一个算法将其就地逆置,线性表变为(an,...a3,a2,a1)。所谓“就地”指辅助存储空间为O(1)。解题思路:如果是顺序存储的话,我们很容易想到解题思路,利用1个辅助变量让第1个元素与第n个元素交换,然后再利用这个辅助变量让第2个元素与第n-1个元素交换,...最后利用这个辅助变量让第

2015-02-26 14:59:34 1926

原创 java版快速排序

Java非递归方式实现快速排序123456789101112131415161718192021222324252627282930

2015-02-26 14:54:54 420

转载 java 传值还是传引用的问题

Java中的参数传递机制一直以来大家都争论不休,究竟是“传值”还是“传址(传引用)”,争论的双方各执一词,互不相让。不但“菜鸟”们一头雾水,一些“老鸟”也只知道结果却说不出所以然来。我相信看过下面的内容后,你就会明白一些。 先看基本类型作为参数传递的例子: public class Test1 {        public static void main(String[

2015-01-28 00:25:16 359

15个web页面模板资源

里面包含了做web开发常用的页面(登陆、注册等),对于做web开发的朋友一定会有帮助的。

2014-07-20

easyui参考资料

easyui 参考资料 里面有easyui的许多模板和帮助文档

2013-09-13

java程序员面试宝典

通过这本书的学习,可以使你对于java的面试游刃有余

2013-09-13

fck 飞鱼jar包

飞鱼在线文本编辑器 这是一个完全开源的文本编辑器,内附有教程。

2013-09-10

人力资源管理系统

这是用j2ee技术开发的一个人力资源管理系统

2013-09-09

FCK 嵌套在网页中的文字编辑器

是一个版本和myeclipse兼容的FCK

2013-05-10

空空如也

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

TA关注的人

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