自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java heap space设置方法记录

近被 OutOfMemory Error折腾得够呛,记载一点设置JVM虚拟机内存Javaheap space的方法。Tomcat 7参考:http://www.davidghedini.com/pg/entry/install_tomcat_7_on_centoshttp://blog.csdn.net/f_zongjian/article/details/5723665网...

2016-10-29 19:38:00 181

原创 枚举的好处

如果定义了一个枚举public enum ColorEnum {red,green,yellow,blue;}1、那么调用方法 public void method(ColorEnum enum) {}时只能传递red,green,...四个值中的一个,否则编译会出错,这对于用户编程而言是安全的2、枚举类型相对与常量类型拥有更好的可读性,...

2016-10-29 19:32:00 338

原创 Java重写equals方法和hashCode方法

package com.ddy;public class User { private Integer id; private String name; private String address; private String phone; public Integer getId() { re...

2016-10-29 19:31:00 83

原创 java中 == 与 equal 的区别

废话不多说了,开门见山吧,先来看一段代码:String str1 = new String("str"); String str2 = new String("str"); System.out.println("==比较 :"+ (str1 == str2)); System.out.println("equal比较:"+ str1.eq...

2016-10-29 19:29:00 58

原创 why在重写equals时还必须重写hashcode方法

首先我们先来看下String类的源码:可以发现String是重写了Object类的equals方法的,并且也重写了hashcode方法public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof Str...

2016-10-29 19:29:00 61

原创 HashCode和equal方法

equals()反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值。而hashCode()是对象或变量通过哈希算法计算出的哈希值。之所以有hashCode方法,是因为在批量的对象比较中,hashCode要比equals来得快,很多集合都用到了hashCode,比如HashTable。两个obj,如果equals()相等,hashCode()...

2016-10-29 19:27:00 105

原创 java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

新建Maven 项目的时候报错:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServletjava.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet at org.a...

2016-10-29 19:23:00 89

原创 深入浅出JVM

虚拟机:  指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统有哪些虚拟机:  VMWare  Visual Box  JVM:使用软件模拟Java字节码的指令集JDK的发展历程:  •1996年 SUN JDK 1.0 Classic VM    –纯解释运行,使用外挂进行JIT  •1997年 JDK1.1 发布    –A...

2016-10-29 19:21:00 71

原创 new String()理解

public static void main(String[] args){String a=new String("ddy");String b=new String("ddy");System.out.println("a:"+a.hashCode());System.out.println("b:"+b.hashCode());System.out.println("e...

2016-10-29 19:18:00 387

原创 hashcode的理解

============================================================如何理解hashCode的作用:============================================================以java.lang.Object来理解,JVM每new一个Object,它都会将这个Object丢到一个Hash哈希...

2016-10-29 19:17:00 110

原创 python数据结构

字典>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}>>> d['Michael']95查询速度快,原因是在字典的索引表里(比如部首表)查这个字对应的页码,然后直接翻到该页,找到这个字,无论找哪个字,这种查找速度都非常快,不会随着字典大小的增加而变慢。update:>>> ...

2016-10-28 11:01:00 82

原创 Ubuntu-Python2.7安装 scipy,numpy,matplotlib

sudo apt-get install python-scipysudo apt-get install python-numpysudo apt-get install python-matplotlibpythonimport scipyimport numpyimport pylabscipy.test()numpy.test()pylab.test()...

2016-10-27 11:22:00 81

原创 学习NumPy

NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。...

2016-10-26 16:18:00 61

原创 java实现二叉树

package ds.tree;/** * 使用二叉链表实现二叉树。 */public class BinaryTree<T> { /** * 结点类。 */ class Node { int value; // 该节点存储的值。 Node leftChild; // 指向左子节点的引用。 ...

2016-10-24 22:46:00 88

原创 JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释

jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。HotSpot虚拟机GC算法采用分代收...

2016-10-24 22:45:00 76

原创 类加载机制

首先看一段代码,想想下面的代码输出结果是什么:/** * * @author vincent_duan * */public class LoadingTest { public static LoadingTest obj = new LoadingTest(); public static int val1; public static int va...

2016-10-24 22:40:00 74

原创 多维数组的遍历性能

数组是Java中的一种容器对象,它拥有多个单一类型的值。当数组被创建的时候数组长度就已经确定了。在创建之后,其长度是固定的。下面是一个长度为10的数组:public class ArrayDemo { private int arraySize=10; public int[] arrayOfIntegers = new int[arraySize];}上面的代码是一维...

2016-10-24 22:37:00 452

原创 Builder设计模式

Builder模式,又称生成器或构建者模式,属于对象创建型模式,侧重于一步一步的构建复杂对象,只有在构建完成后才会返回生成的对象。Builder模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。使用场景1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时,比如买一台电脑,我不需要知道电脑CPU,主板,机箱是如何生产的,也不需要知道它们是如何组装...

2016-10-24 22:36:00 70

原创 继承的一个疑问

public class Base{ private String baseName = "base"; public Base() { callName(); } public void callName() { System. out. println(baseName); } ...

2016-10-24 22:36:00 84

原创 java的static块执行时机

之前一直认为static块是在class load的时候执行,今天在验证Spring初始化Context loader的时候,发现bean的static块并没有执行。Class A{ static{ System.out.println("static block invoked!") } }那么static块到底在什么时候运行的呢?如果了解JVM原...

2016-10-24 22:32:00 85

原创 Java异常体系

运行时异常(非检查异常)与非运行时异常(检查异常,checked exception)异常。在java中,运行时异常,可以不进行捕获,程序编译可以通过。一切继承自RuntimeException的异常都是运行时异常。直接继承自Exception的异常都是非运行时异常。...

2016-10-24 22:28:00 62

原创 HashSet源码分析2

package com.test1;import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class SetTest { public static void main(String[] args) { /* * Set<Str...

2016-10-24 22:27:00 65

原创 HashSet源码分析1

import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class SetTest { public static void main(String[] args) { Set<String> set = new HashSet<>(...

2016-10-24 22:25:00 70

原创 使用jena 进行RDF推理

JENA 推理规则:[transitiveRule: (?A demo:p ?B), (?B demo:p ?C) -> (?A demo:p ?C) ][symmetricRule: (?Y demo:p ?X) -> (?X demo:p ?Y) ] 数据:@prefix : <http://jena.hpl.hp.com/demo#> ...

2016-10-23 16:29:00 807

原创 jena fuseki RDF应用

使用apache-jena生成数据库sudo ./tdbloader2 --loc ~/download/mini_anti ~/download/add_data_label2.ttl ~/download/mini_anti2.ttl启动fuseki服务器sudo ./fuseki-server --loc ~/download/mini_anti /ds访问localh...

2016-10-23 16:13:00 227

原创 MarkDown教程

标题设置(让字体变大,和word的标题意思一样)在Markdown当中设置标题,有两种方式:第一种:通过在文字下方添加“=”和“-”,他们分别表示一级标题和二级标题。第二种:在文字开头加上 “#”,通过“#”数量表示几级标题。(一共只有1~6级标题,1级标题字体最大)块注释(blockquote)通过在文字开头添加“>”表示块注释。(当>和文字之间添加五个blank时,...

2016-10-22 16:37:00 69

原创 Vector源码分析

import java.util.List;import java.util.Vector;public class VectorTest { public static void main(String[] args) { List<String> vector = new Vector<>(); vector.add...

2016-10-21 22:48:00 62

原创 LinkedList源码分析

LinkedList底层实现采用双向循环链表。LinkedList的插入与删除操作都不涉及到元素的移动,改变的只是元素的指向而已。LinkedList的查找速度是很慢的,因为涉及到元素的逐个获取与比较。LinkedList与ArrayList的区别,本质上是链表和数组的区别。import java.util.LinkedList;import java.util.List;pu...

2016-10-21 22:43:00 60

原创 ArrayList源码分析

public class Test1 { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("abc");     list.add("hello");     list.remove("abc"...

2016-10-21 22:41:00 76

原创 Java ThreadLocal 使用详解

ThreadLocal的官方API解释为:"该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其get或set方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联。"大概...

2016-10-21 22:21:00 89

原创 存储过程

存储过程可以让事务在mysql中,避免事务在java,减少java和mysql的通信,提高效率,屏蔽网络延迟

2016-10-21 21:59:00 75

原创 ubuntu16.04安装mysql5.7.15

1.在官网下载mysql安装包直接选择第一个下载好了就行2.进入你的下载文件夹下面键入命令: tar -xvf mysql-server_5.7.13-1ubuntu16.04_i386.deb-bundle.tar解压了这个包之后会在文件夹看到多个deb文件可以一次性按顺序输入安装包名字:vincent@vincent-duan:~/download/mys...

2016-10-21 21:58:00 105

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

下安装MySQL后登陆MySQL时会遇到ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)MySQL的安装日志信息中,你会看到MySQL生成了root用户的随机密码(如下截图所示),并将这个随机密码放置在/root/.mysql_secret中。并且强制在第一次登陆时修改root...

2016-10-21 21:51:00 94

原创 InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 640 pages (rou

2016-09-14T09:17:37.713955Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().2016-09-14T09:17:37.724151Z 0 ...

2016-10-21 21:49:00 453

原创 Centos 卸载mysql

查看是否安装mysql的命令rpm -qa | grep mysql然后 逐个使用 rpm -e mysq-* 卸载如果出现error: Failed dependencies:libmysqlclient.so.10 is needed by (installed) libdbi-dbd-mysql-0.6.5-10.RHEL4.1.i386libmysqlclient....

2016-10-21 21:48:00 68

原创 SQL

修改某一字段时,如果没有指定where主键,会有报错,解决方式如下:SET SQL_SAFE_UPDATES=0;删除重复数据 :DELETE FROM country_codeWHERE country_code NOT IN (SELECT * FROM (select max(country_code) from...

2016-10-21 21:47:00 96

原创 过滤器

过滤器基础在web项目中就只有三大组件:Filter过滤器(级别最高)监听器Servlet在web中过滤器就是一个类javax.servletFilter

2016-10-19 23:39:00 77

原创 mysql5.7安装配置

我的电脑->属性->高级->环境变量选择PATH,在其后面添加: 你的mysql bin文件夹的路径 (如:C:\Program Files\MySQL\MySQL Server 5.6\bin )PATH=.......;C:\Program Files\MySQL\MySQL Server 5.6\bin (注意是追加,不是覆盖)配置完环境变量之后先别忙着启动my...

2016-10-19 23:33:00 70

原创 mysql 5.7版本目录无data文件夹的解决办法

安装mysql 5.7+版本时,若发现因根目录下,缺少data文件夹的情况,***请不要去拷贝其他版本的data文件夹!***因为此操作会出现很多潜在问题:比如我遇到的执行show variables like "%charact%"; 语句时,报错表不存在!打开cmd命令窗口,并且进入到mysql安装目录的bin目录下。然后输入命令:mysqld --initialize-ins...

2016-10-19 23:32:00 124

原创 MySQLWorkbench里的稀奇事之timestamp的非空默认值

在创建表时,某字段为非空时间戳,timestamp not null 问题来了,使用workbench建表时,如果值非空,是需要有一个默认值的,不然会报错。那么,如果是更新时自动填充可以使用DEFAULT ON UPDATE CURRENT_TIMESTAMP,而只在INSERT时插入,不更新则使用CURRENT_TIMESTAMP;问题是,如果不想使用CURRENT_TIMESTAMP怎...

2016-10-19 23:31:00 339

SpringDataJPA入门

SpringDataJPA 入门 用户管理系统

2015-09-02

Android开发效率的Eclipse快捷键.txt

Android开发效率的Eclipse快捷键.txt

2012-12-12

eclipse快捷键

eclipse 一定会用到 txt文档 挺不错

2012-12-12

空空如也

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

TA关注的人

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