- 博客(56)
- 资源 (5)
- 收藏
- 关注
原创 Ubuntu配置negix并开机自启动
1. nginx安装环境gccpcre库zlib库openssl库安装方式网上有2.编译安装 网上下载nginx-1.8.0.tar.gz,并拷贝到Ubuntu2.1 解压:tar -zxvf nginx-1.8.0.tar.gz 2.2 进入文件夹:cd nginx-1.8.0 2.3 配置 命令行输入: ./configure \ 然后将如下命令拷入命令行--pre
2017-06-03 17:14:04 829
原创 Invalid bound statement (not found):
出现此错误原因是mapper的配置文件没有加入到classpath下。解决方法: 在pom.xml文件下添加如下:<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</in
2017-06-03 11:41:53 576
转载 几种缺页中断算法(FIFO,LRU与LFU)的实现过程
原博客地址http://blog.chinaunix.net/uid-13246637-id-5185352.html 最近在做笔试题,其中虚拟存储管理中几种缺页中断算法经常考到,虽然这类题可说非常简单,但概念上却容易混淆而且如果不掌握正确的做法很容易出错,因此觉得有必要把这三种算法的实现过程理一遍,并从源代码级别去思考它们的实现。 首先推荐一个博
2017-03-25 12:09:32 2476
转载 红黑树并没有我们想象的那么难(下)
红黑树并没有我们想象的那么难 上、下两篇已经完成, 希望能帮助到大家. 红黑树并没有我们想象的那么难(上): http://daoluan.net/blog/rbtree-is-not-difficult/ 红黑树并没有我们想象的那么难(下): http://daoluan.net/blog/rbtree-is-not-difficult-2/ SGI STL
2017-03-21 15:52:53 334
转载 红黑树并没有我们想象的那么难(上)
红黑树并没有我们想象的那么难 上、下两篇已经完成, 希望能帮助到大家. 红黑树并没有我们想象的那么难(上): http://daoluan.net/blog/rbtree-is-not-difficult/ 红黑树并没有我们想象的那么难(下): http://daoluan.net/blog/rbtree-is-not-difficult-2/ 红黑树并没有想
2017-03-21 15:51:54 711
转载 在一个千万级的数据库查寻中,如何提高查询效率?
在一个千万级的数据库查寻中,如何提高查询效率?1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保
2017-03-20 17:03:14 4270
转载 原型模式
原型模式 故名思议是依赖于原型,创建一个和原来一模一样的新对象。 原型模式的使用:如印刷厂钞票的复印,钞票的复印只需要一个钞票的原型,根据这个原型可以复印出很多一样的钞票。在Java中,由于Java是地址传递的,所以可以直接将对象赋给新的对象,如果修改新的对象时,原有的对象值也被修改。如果不希望影响原来的值,则就不能采用直接赋值的方式,可以采用原型模式。生成两个独立的且相同的对象。直接赋值对象的
2017-03-09 22:48:37 255
原创 多线程
1.进程和线程的区别Linux中定义: 进程(process):程序被触发以后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载到内存中,操作系统并给与这个内存内的单元一个标识符(PID),可以说,进程就是一个正在运行中的程序。 线程:是共享在内存空间中并发的多通道执行路径,它们共享一个进程的资源,如文件描述和信号处理。 理解:进程:每个进程都有独立的代码和数据空间(进程上下文)
2017-03-09 22:46:14 412
原创 序列化和反序列化
1. Java序列化和反序列化Java序列化是指将Java对象转化为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。当两个进程进行远程通信时,这个通信的数据可以为文本、图片、音频或者视频等,而这些数据都是以二进制的形式进行传送的。而当两个Java进程间进行通信时,进程间对象的传送也是二进制方式传输。这就要用到序列化和反序列化,一方面,发送方需要把这个Java对象转化为字节序
2017-03-09 22:36:20 317
转载 使用hexo搭建github.io博客
原博客地址:http://www.cnblogs.com/liulangmao/p/4323064.html 使用github.io可以搭建一个自己的博客,把静态文件项目托管到github上,可以写博客,可以使用markdown语法,也可以展示作品.灵活性高.但是有较大的难度.node,git版本变化日新月异,每段时间都会有不同,
2017-03-08 10:44:06 959
转载 (精)JAVA线程池原理以及几种线程池类型介绍
在什么情况下使用线程池? 1.单个任务处理的时间比较短 2.将需处理的任务的数量大 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及”过度切换”。 线程池工作原理:为什么要用线程池?诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序
2017-03-07 20:20:34 426
转载 Mybatis中配置Mapper的方法
Mybatis中配置Mapper的方法 在这篇文章中我主要想讲一下Mybatis配置文件中mappers元素的配置。关于基础部分的内容可以参考http://elim.iteye.com/blog/1333271。 我们知道在Mybatis中定义Mapper信息有两种方式,一种是利用xml写一个对应的包含Mapper信息的配置文件;另一种就是定义一个Mapper接口,然
2017-03-02 01:14:34 4561
转载 spring配置datasource三种方式
1、使用org.springframework.jdbc.datasource.DriverManagerDataSource 说明:DriverManagerDataSource建立连接是只要有连接就新建一个connection,根本没有连接池的作用。 <bean id=”dataSource” class=”org.springframework.jdbc.datasource.Driver
2017-03-01 23:36:24 1398 1
原创 92. Reverse Linked List II
Description Reverse a linked list from position m to n. Do it in-place and in one-pass.For example: Given 1->2->3->4->5->NULL, m = 2 and n = 4,return 1->4->3->2->5->NULL.Note: Given m, n satisfy the
2017-02-28 10:59:53 271
原创 445. Add Two Numbers II
DescriptionYou are given two non-empty linked lists representing two non-negative integers. The most significant digit comes first and each of their nodes contain a single digit. Add the two numbers an
2017-02-28 10:09:57 208
转载 ibatis与spring整合
这两天一直在研究ibatis与spring的整合 一个小小的demo搞的我头晕目眩的,但程序一旦跑起来了,突然有一种豁然开朗,重见天日,感觉生活很美好的感觉!,也许,这就是那一行行的代码带给我们的不同享受吧。呵呵,废话就不多说了。在此先引用几句别人的资料。。。spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置让sp
2017-02-27 15:16:35 462
转载 Spring框架之理解AOP
原博客地址Aspect Oriented Programming 面向切面编程。解耦是程序员编码开发过程中一直追求的。AOP也是为了解耦所诞生。具体思想是:定义一个切面,在切面的纵向定义处理方法,处理完成之后,回到横向业务流。AOP 在Spring框架中被作为核心组成部分之一,的确Spring将AOP发挥到很强大的功能。最常见的就是事务控制。工作之余,对于使用的工具,不免需要了解其所以然。学习
2017-02-19 23:15:12 444
转载 总结一下 Spring的IOC、DI
[原文链接](http://blog.csdn.net/m13666368773/article/details/8053138)国庆节刚过,应一些朋友的提问,总结一下spring中IOC也即DI的通俗理解。网友wm5920解释:IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在xml文件控制,侧重于原理。DI依赖注入:说的是创建对象实例时,为这个对象注入属性值或
2017-02-19 22:20:33 361
转载 Spring的IOC原理[通俗解释一下]
[原文地址](http://blog.csdn.net/m13666368773/article/details/7802126)1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。图1:软件系统中耦合的对象如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和
2017-02-19 21:55:08 316
原创 1. Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution. Example:Given nums = [2, 7, 1
2016-11-18 10:28:07 220
原创 表,单链表,双链表
表public class MyArrayList<AnyType> implements Iterable<AnyType>{ private static final int DEFAULT_CAPACITY=10; private int theSize; private AnyType [] theItems; public MyArrayList(){
2016-08-24 10:11:53 321
原创 一次方法调用返回多个对象——元组
元组概念:将一组对象直接打包存储于其中的一个单一的对象。 元组特点:元组具有任意长度,同时元组中对象可以是任意不同的类型。不过一般用时需要指出。可以使用继承的方式增长元组的长度。示例: 二元组public class TwoTuple<A,B> { public final A first; public final B second; public TwoTupl
2016-06-25 21:15:43 724
原创 MyEclipse xml文件不能自动补全解决
Windows—>Perference—>XML—>XML_Catalog 选择User Specified Entries,然后点击add,在Location中找到自己Spring-framework中的spring-beans-xx.xsd文件我的在spring-framework-3.2.0—>schema—>beans下选择spring-beans-3.2.xsd
2016-06-11 20:35:46 3628
原创 Java中实现多重继承
在Java中只能继承一个类,但是可以继承多个接口。常常使用继承单个类和集成多个接口的方式实现类的多重继承。如下是多重继承示例:interface CanFight{ void fight();}interface CanSwim{ void swim();}interface CanFly{ void fly();}class ActionCharacter{
2016-06-08 21:51:22 5220
原创 设计模式——门面模式
门面模式:主要是实现子模块和客户端之间的松耦合关系,屏蔽子模块的内部细节,知识将客户端需要的接口提供给客户,使子模块的组件的变化不会影响客户端的使用。总体体现为松耦合和高内聚。门面模式的使用:使用如系统间的接口、框架之间的衔接等。如:银行支付方式,网上商城使用时只能使用提供的接口。
2016-06-08 16:47:00 314
原创 设计模式——原型模式
原型模式(Prototype):故名思议是依赖于原型,创建一个和原来一模一样的新对象。原型模式的使用:如印刷厂钞票的复印,钞票的复印只需要一个钞票的原型,根据这个原型可以复印出很多一样的钞票。在Java中,由于Java是地址传递的,所以可以直接将对象赋给新的对象,如果修改新的对象时,原有的对象值也被修改。如果不希望影响原来的值,则就不能采用直接赋值的方式,可以采用原型模式。生成两个独立的且相同的对象
2016-06-07 22:14:26 471
原创 设计模式——抽象工厂模式
抽象工厂模式:简单的说,抽象工厂模式相对于工厂方法模式来讲,就是工厂方法模式是针对一个产品系列的,而抽象工厂模式是针对多个产品系列的。在抽象工厂类中,客户端不再需要进行对象的创建,而是具体的工厂类来进行创建,客户端只负责对象的调用。我们依旧以产品生产为例,可以画出如下抽象工厂模式生产的原理: 我们可以这样想,ProductA和ProductB都有各自的生产属性,即生产哪些内容。也即Prod
2016-06-06 22:28:21 322
原创 设计模式——工厂方法模式
工厂方法模式(Factory Method):简单工厂模式中,通过工厂类来判断需要调用的具体实现类,隔离了用户和实际类之间的关系,降低系统间的耦合度,但是如果创建的类很多,工厂类将会很庞大,不利于维护,所以需要工厂方法模式。 工厂方法模式简单而言是将不同的职责的类分别通过不同的工厂来产生实例对象。示例: Product.javapublic interface Product { p
2016-06-06 22:13:40 245
原创 设计模式——简单工厂模式
简单工厂模式:如果代码中到处都充斥着对象的创建和初始化工作,会使代码看起来很凌乱,而且不便于维护,因为只要有初始化参数发生变化,所有代码都跟着变,此时就需要将对象的创建和使用分离开,就是简单的工厂模式。简单工厂模式是将对象产生的细节进行隐藏,客户端只负责调用即可。又叫静态工厂方法模式,它定义一个具体的工厂类来负责创建类的对象。简单工厂模式由3部分组成:工厂类、抽象类和实现抽象类的具体类示例:-
2016-06-06 21:36:22 199
原创 设计模式——单例模式
单例模式概念:单例模式是指唯一实例的意思,也就是说一个类只能有唯一一个实例。在Java中智能new一个类。两种单例模式示意:1. 饿汉式单例模式public class Singleton{ private static Singleton instance=new Singleton(); private Singleton (){ //.. } p
2016-06-06 10:40:55 268
原创 Java 中的super和this区分
super:可以理解为是指向父类对象的一个指针,可以用super调用父类的方法,也可以用super调用父类的构造函数,super也可以带参数传给父类的构造函数。需要注意的是super需要放在方法的最前面。 1.调用父类的构造器class Game{ Game(int i){ //print("Game constructor"); System.out.pr
2016-05-12 15:42:52 418
原创 Myeclipse新建类报错Creation of element failed
Myeclipse创建新类时报错Creation of element failed, org.eclipse.core.internal.registry.Conf,编译的也不能成功。查看工程目录中的.metadata中的log可以找error显示是缺少maven这个插件错误。 解决办法: 打开myecplise,help–>Software Updates–>Find and Install
2016-05-11 18:12:52 2182
原创 java中的垃圾回收之finalize()用法
简介 我们都知道,java有垃圾回收器专门负责回收无用对象占据的内存资源。所以我们一般不需要去清理没用的对象内存空间(类似于C++中的析构函数)。但是也有特殊情况,假设对象不是通过new得到的内存区域,那么垃圾回收器就不能回收该块内存。这是因为垃圾回收器只知道释放那些经由new分配的内存。为了应对这种情况java允许在类中定义finalize()方法。 那么finalize的原理是怎样的
2016-04-26 11:31:58 2318
原创 Java this指针的使用
Java中关键字this指针只能用于方法内,当一个对象被创建后,JVM就会给这个对象分配一个引用自身的指针,这个指针就是this。this只能在类中的非静态方法中使用,静态方法和静态代码块中不能出现this。this只和特定对象关联,不个类关联,所以同一个类的不同对象有不同的this。 使用范围:在方法内使用成员变量的时将当前对象传递给其他方法时在构造器中调用构造器时示例在方法中使用成员
2016-04-26 10:30:59 5299
原创 Java中static
在Java中static是用来修饰成员变量和成员方法,也可以形成静态的static代码块。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖特定的实例,被类的所有实例共享。 只要这个类被加载,java秀你机就可以通过类名在运行时数据区的方法区找到他们。而且static对象可以在它的任何对象创建之前访问,无需引用任何对象。 public 修饰的static成员变量和成员
2016-04-25 21:49:05 293
原创 Java连接Mysql及操作
java连接Mysql和java 连接Sqlserver类似. 1.下载Mysql的jdbc驱动,下面是下载地址 MySql jdbc驱动下载地址 解压缩,将mysql-connector-java-5.1.38-bin.jar包分别放在jre->lib->ext下即可,用ecplise开发也可以手动加入这个jar包 2.使用statement建立连接 Connection是数据库连接的代
2016-04-24 15:42:40 408
原创 Java 连接数据库Sql server
注意:我用的版本是jre1.8 jdk1.8。sql是sql20121. 首先下载微软的Microsoft JDBC Driver for SQL Server Jar安装包 jdbc驱动下载地址 其中4.0就可以支持sql2012,下载sqljdbc_4.0.2206.100_chs.exe解压,找到sqljdbc4.jar包,拷贝到java安装的jdk1.8.0_77->jre->lib
2016-04-23 14:15:08 1353
原创 java线程理解(3)
1.线程群组(ThreadGroup) 在官方API对ThreadGroup有如下解释: 线程组表示一个线程的集合。此外,线程组也可以包含其他线程组。线程组构成一棵树,在树中,除了初始线程组外,每个线程组都有一个父线程组。 允许线程访问有关自己的线程组的信息,但是不允许它访问有关其线程组的父线程组或其他任何线程组的信息。 类名是:java.lang.ThreadGroup 产生管理群主线程方
2016-04-13 14:02:51 469
原创 Java线程理解(2) 线程生命周期
1.Thread状态图 在调用Thread实例start()方法后,基本状态可以分为可执行(Runnable)、被阻断(Blocked)、执行中(Running),状态转移如下: 实例化Thread并start()后,线程进入Runnable(可执行)状态,此时线程尚未真正开始执行run()方法,必须等待CPU schedule(CPU 一种排班器)排入CPU执行,线程才会执行run()方法,进
2016-04-12 20:48:56 369
原创 Java线程理解(1)
1.线程Thread单线程:在启动程序中只有一个main()程序进入点开始至结束。多线程:有多个线程并行运行。下面是龟兔赛跑的例子,龟和兔使用Runnable接口,分别重新定义自己的run方法。后面建立两个线程,分别填充龟和兔的对象,使二者在不同的进程中运行,从而实现二者run动作同时执行。其中乌龟1s跑1步,兔子睡觉随机,醒来1s跑2步。 实例: 龟:Tortoise.javapublic
2016-04-12 19:36:46 796
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人