自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JavaSheng的专栏

记录分享学习过程中的一点一滴

  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 jdk1.6 1.7 1.8 LinkedList源码实现原理及区别

LinkedList(jdk1.6)private transient Entry<E> header = new Entry<E>(null, null, null);定义一个空的Entry对象作为头结点,Entry是其内部定义的一个内部静态类,结构如下:private static class Entry<E> { E element...

2018-06-01 16:45:44 1520

原创 ArrayList jdk1.6 1.7 1.8

ArrayList(jdk1.6) /** * The array buffer into which the elements of the ArrayList are stored. * The capacity of the ArrayList is the length of this array buffer. */ private tran...

2018-05-16 00:06:11 1098

原创 Java实现各种排序

package com.sbw.testredis;import java.util.Arrays;public class Sort{ //冒泡排序 稳定 o(n^2) public void bubbleSort(int[] data){ boolean isSort = true; for(int i = 0; i < data.length -

2016-08-22 18:55:20 534

原创 Java下利用Jackson进行Json的转化解析

1.导入相应jackson的jar包2.需要转化解析的类Person.javapublic class Person{ private String name; private int age; public String getName() { return name; } public void setName(String name) {

2016-07-08 16:43:06 831

原创 配置tomcat7自带数据库连接池

1.配置tomcat下conf/context.xml<Resource name="jdbc/drp" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

2016-07-01 14:54:48 5301

原创 Host XXX is not allowed to connect to this MySQL server

这个错误是说明你没有权限连接这个IP上的MySQL解决办法:1.mysql > grant all privileges on *.* to ‘root’@’%’ identified by ‘root’ with grant option;注:%可以换成任意你允许连接的ip2.mysql>use mysql; mysql>select user,host from user; 查看是

2016-06-23 15:09:56 559

原创 Access denied for user ''@'localhost' XXXXXX

解决办法:1.关闭mysql service mysql stop 2.安全模式登录 mysqld_safe –skip-grant-table 3.新开一个窗口 mysql -u root mysql> delete from user where user=”“; mysql> FLUSH PRIVILEGES

2016-06-23 15:03:05 1717

原创 MySQL5.5主从配置

一:实验环境 主机IP(Master) 192.168.101.28 centos下 从机IP(Slave) 192.168.100.39 window下二:给Master授权允许远程登录的用户1.向Master添加远程登录的用户mysql>grant replication slave on "." to "repl"@"192.168.100.39" identified by "12345

2016-06-20 16:51:31 1114

转载 IO-同步,异步,阻塞,非阻塞

转载自:http://blog.csdn.net/historyasamirror/article/details/5778378同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和n

2016-06-18 10:55:07 287

原创 Java实现二叉树遍历(递归,非递归)

public class BinaryTree { class TreeNode{ private T data; private TreeNode leftNode; private TreeNode rightNode; public TreeNode(T data, TreeNode<T> leftNode, TreeNod

2016-06-17 13:47:47 837

转载 每个程序员都应该了解的 CPU 高速缓存

英文原文:Memory part 2: CPU caches 来源:oschina[编者按:这是Ulrich Drepper写“程序员都该知道存储器”的第二部。那些没有读过第一部 的读者可能希望从这一部开始。这本书写的非常好,并且感谢Ulrich授权我们出版。一点说明:书籍出版时可能会有一些印刷错误,如果你发现,并且想让它在后续的出版中更正,请将意见发邮件到[email protected] ,我们一定会更正,

2016-05-31 18:54:14 3507 1

转载 我爱学Java之JVM中的OopMap

调用栈里的引用类型数据是GC的根集合(root set)的重要组成部分;找出栈上的引用是GC的根枚举(root enumeration)中不可或缺的一环。 JVM选择用什么方式会影响到GC的实现:如果JVM选择不记录任何这种类型的数据,那么它就无法区分内存里某个位置上的数据到底应该解读为引用类型还是整型还是别的什么。这种条件下,实现出来的GC就会是“保守式GC(conservative GC)”。在

2016-05-17 20:40:52 13187 9

原创 我爱学Java之四种引用类型(强软弱虚)

1.强引用(StrongReference)强引用就是指在程序代码之中普遍存在的,类似与Object obj = newObject()这类的引用。上面的式子创建了一个Object对象,并将这个对象的(强)引用存到变量obj中。只要强引用还存在,垃圾收集器永远不会回收掉被引用的对象。在介绍下面三种引用之前,先说一下引用队列(ReferenceQueue):当对象改变其可达性状态时,对该对象的引用就可

2016-05-17 19:44:16 907

转载 淘宝网采用什么技术架构来实现网站高负载分析

时间过得很快,来淘宝已经两个月了,在这两个月的时间里,自己也感受颇深。下面就结合淘宝目前的一些底层技术框架以及自己的一些感触来说说如何构建一个可伸缩,高性能,高可用性的分布式互联网应用。    一 应用无状态淘宝session框架  俗话说,一个系统的伸缩性的好坏取决于应用的状态如何管理。为什么这么说呢?咱们试想一下,假如我们在session中保存了大量与客户端的状态信息的话,那么当保存状态信息

2016-05-16 10:39:47 3572

原创 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

首先关闭mysql服务service mysql stop然后以安全模式开启mysqld_safe --skip-grant-tables再开个窗口登陆修改密码:mysql -u rootmysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';退出重启mysql服务service mysql start

2016-05-16 00:32:14 323

原创 Hibernate关联关系映射(双向篇)

Hibernate关联关系可分为单向关联和双向关联两大类。单向关联可以分为一对一、一对多、多对一和多对多4种关联方式,而多向关联可以分为一对一、一对多和多对多3种关联方式。Hibernate连接管理类HibernateUtil.Javapublic class HibernateUtil { private static SessionFactory sessionFactory; p

2016-05-12 11:13:07 6316

原创 Hibernate关联关系映射(单向篇)

Hibernate关联关系可分为单向关联和双向关联两大类。单向关联可以分为一对一、一对多、多对一和多对多4种关联方式,而多向关联可以分为一对一、一对多和多对多3种关联方式。Hibernate连接管理类HibernateUtil.javapublic class HibernateUtil { private static SessionFactory sessionFactory; p

2016-05-11 20:48:45 6039

原创 MySQL中Packet for query is too large (1327736 > 1048576)错误

出现该错误的原因是mysql默认加载的数据文件不超过1M,可以通过更改mysql的配置文件my.cnf(Linux,或windows的my.ini)来更改这一默认值,从而达到插入大数据的目的。解决: MySQL的一个系统参数:max_allowed_packet,其默认值为1048576(1M),可以先查询一下:show VARIABLES like ‘%max_allowed_packet%’;

2016-05-10 09:17:41 4872 1

原创 JVM性能调优监控工具jps、jstat、jinfo、jmap、jhat、jstack使用详解

除了集成式的VisualVM和JConsole外,JDK本身还提供了如jps、jstack、jmap、jhat、jstat等性能调优监控工具。在Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(Lock Contention)Java进程消耗CPU过高……这些问题在日常开发中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大

2016-05-09 16:59:22 2869

转载 性能分析神器VisualVM

VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作。本文主要介绍如何使用 VisualVM 进行性能分析及调优。准备工作自从 JDK 6 Update 7 以后已经作为 Or

2016-05-09 11:02:31 1966

原创 我爱学Java之Thread中stop(),suspend(),resume()为什么不安全

当调用stop()方法时会发生两件事:1.即刻停止run()方法中剩余的全部工作,包括在catch或finally语句中,并抛出ThreadDeath异常(通常情况下此异常不需要显示的捕获),因此可能会导致一些清理性的工作的得不到完成,如文件,数据库等的关闭。2.会立即释放该线程所持有的所有的锁,导致数据得不到同步的处理,出现数据不一致的问题。举个例子:public class Main{

2016-05-02 22:24:59 3267

转载 我爱学Java之中间缓存变量机制

有一段代码如下:public class Test {     public static void main(String[] args) {       int j = 0;       for (int i = 0; i < 100; i++) {         j = j++;

2016-05-02 21:00:02 684

原创 Java实现布隆过滤器(已爬URL过滤)

最近写爬虫需要降低内存的占用,现在用的是HashSet进行已爬URL的过滤,所以想到用布隆过滤器(Bloom Filter)来替换,从而减少内存的开销。因为HashSet内部是由HashMap处理的,HashMap则通过计算一个int型的hash值得出信息指纹,所以一个信息指纹占8字节,但是由于哈希的存储效率一般只有一半,所有说一条URL就需要16字节的信息指纹,而Bloom Filter 则只需要

2016-04-29 17:19:01 11291 2

原创 数据库事务隔离级别

首先说一下事务的4个基本特征:ACIDAtomic(原子性): 事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要 么全部成功,要么全部失败。 Consistency(一致性): 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事

2016-04-24 23:58:39 894

原创 数据库范式

设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,还又称完美范式)。满足最低要求的范式是第一范式(1NF),在第一范式的基础上进一步满足更多规范要求的称为

2016-04-24 23:10:04 589

转载 JDK6和JDK7中的substring()

原文链接: programcreek 翻译: ImportNew.com - 刘志军 译文链接: http://www.importnew.com/7418.htmlsubstring(int beginIndex, int endIndex)在JDK6与JDK7中的实现方式不一样,理解他们的差异有助于更好的使用它们。为了简单起见,下面所说的substring()指的就是substring(int

2016-04-23 09:45:36 305

原创 URL队列(爬虫队列)-Berkeley DB的使用示例(Java)

网络爬虫中URL队列即爬虫队列是较为关键的数据结构,对于数据量要求不大的爬虫,我们可以简单的使用Java类库中的内存数据结构,例如链表或者队列来实现URL队列,但是当我们面对数以亿计的链接时,内存数据结构就会因内存的持续增长显得力不从心,这时就需要用到内存数据库-Berkeley DB,它能够存储海量数据,当数据超出内存限制时,能够把它固化在硬盘上,而且存取速度也非常快并且支持多线程访问。Berke

2016-04-18 17:19:50 4170

转载 SYN Flood原理及防护

一、为什么Syn Flood会造成危害这要从操作系统的TCP/IP协议栈的实现说起。当开放了一个TCP端口后,该端口就处于Listening状态,不停地监视发到该端口的SYN报文,一旦接收到客户端发来的SYN报文,就需要为该请求分配一个TCB(Transmission Control Block),通常一个TCB至少需要280个字节,在某些操作系统中TCB甚至需要1300个字节,并返回一个SYN+A

2016-04-16 09:46:48 6146

原创 URLDecoder: Incomplete trailing escape (%) pattern错误处理

爬虫过程中可能会碰到url普通含义的%字符的情况,如果直接用URLDecode.decode()则会出现如题的错误,解决方法就是先将’%’编码为’%25’,在对整体进行url解码。public static void main(String[] args) throws Exception{ String test = "http://www.baidu.com?123%";//随意构造的

2016-04-15 13:32:00 16630 4

原创 TCP连接状态及三次握手四次挥手

TCP一共有11种连接状态:SYN_SENT:在发送连接请求后等待匹配的连接请求(客户端向服务器端发送SYN请求建立一个连接,之后将状态置为SYN_SENT)FIN_WAIT_1:等待远程TCP连接中断请求,或先前的连接中断请求的确认(主动关闭端发送FIN请求主动关闭连接,之后将状态置为FIN_WAIT_1)FIN_WAIT_2:从远程TCP等待连接中断请求(主动关闭端接到ACK后,之后将状态

2016-04-14 21:23:56 5381 2

原创 每天学点JQuery(4)—动画

1.show()和hide():通过改变高度,宽度,不透明度来显示/隐藏元素。$(function(){ $("a").hide()//通过hide方法隐藏元素})等价于$(function(){ $("a").css("display","none");})当把元素隐藏后,可以使用show()方法将元素的display样式设置为先前的显示状态("block"或"inline

2016-04-13 17:06:25 485

原创 我爱学Java之内部类

在Java中,可以将一个类的定义放在另一个类的内部,这就是内部类。    内部类可以被private,default,protected,public修饰,且内部类是一个编译时状态,虚拟机并不知道内部类与常规类有什么不同,一旦编译成功,就会与外部类成为完全不同的两类,所以内部类的成员变量和成员方法可以与外部类相同 。    内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内

2016-04-11 00:28:39 503

原创 我爱学Java之接口和抽象类

对于面向对象编程来说,抽象是它的一大特征之一,而接口(interface)和抽象类(abstract)正是Java语言中支持抽象的两种机制。下面我就说一下两者的使用与区别:抽象类是用关键字abstract修饰,抽象类在使用上与普通类没有什么区别,可以有自己的成员变量,成员函数,构造函数,唯一不同的是抽象类中可能包含0个或多个抽象方法并且不能被实例化(即不能通过new创建),即用abstract修饰并

2016-04-09 13:09:22 392

原创 MySQL utf8转utf8mb4(java.sql.SQLException: Incorrect string value...)

今天将爬虫数据添加到数据库时出现了这个错误:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\x82' for column 'spda_content' at row 1错误原因是因为:mysql中utf8字符最大字节为3字节,但是某些unicode字符转成utf8编码之后有4个字节,所以需要将现有表改为utf8mb4编码。首

2016-04-08 21:33:32 5629

原创 每天学点JQuery(3)—事件

加载DOM:JQuery用$(document).ready()方法来代替JS中的window.onload()方法,但两者之间也存在着细微的差别:window.onload()方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器之后才执行,而$(document).ready()方法可以在DOM载入就绪时就可以执行,例如有一个大的图片库,为每张图片都加上链接,window.onloa

2016-04-01 16:35:43 458

原创 每天学点JQuery(2)—DOM操作

DOM操作分为三方面,即DOM Core(核心)、HTML-DOM和CSS-DOM。DOM Core并不专属于JavaScript,任何一种支持DOM的程序设计语言都可以使用他,JS中的getElementById,getElementsByTagName,getAttribute和setAttribute等方法,都是DOM Core的组成部分。HTML-DOM的出现的比DOM Core还要早,它提

2016-03-31 11:36:09 429

原创 每天学点JQuery(1)—选择器

在JQuery库中,$就是JQuery的一个简写形式,例如$(“#foo”)与jQuery(“#foo”)是等价的。$(document).ready(function(){//...});也可以简写成:$(function(){});这段代码等价于传统JS中的window.onload方法。DOM对象与JQquery对象是不同的,每一份DOM都可以表示成一棵树,而JQuery对象则是通过包装

2016-03-30 16:01:29 460

原创 我爱学Java之读取Properties的几种方法

首先贴出目录结构:db.properties1.Properties类的load()方法:public static void main(String[] args) throws IOException{ InputStream in = new BufferedInputStream(new FileInputStream("src/db.properties"));//相对于

2016-03-29 10:45:41 836

原创 我爱学Java之正则表达式

在程序开发过程中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力,而正则表达式善于处理文本,对匹配、搜索和替换等操作都有意想不到的作用,因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。1.匹配单个字符:”.”,如需匹配文本中的”.”,则需要对字符进行转义即”.”Pattern pattern = Patte

2016-03-25 11:34:29 508

原创 我爱学Java之Comparable与Comparator的区别与用法

Comparable与Compator都是Java提供的用来比较大小的接口,但Comparable是在类内定义比较方法,而Compator则是在类外定义比较方法。Comparable接口位于java.lang包下:public interface Comparable<T>{ public int compareTo(T o);//唯一一个方法}Compator接口位于java.util包

2016-03-24 18:56:34 567

计算机网络复习提要

计算机网络自顶向下那本书的一个整体概括.可以参照这本书对整个网络基础有一个大体的认识

2014-11-04

空空如也

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

TA关注的人

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