- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 项目review--2017.05.27
Java的引用传递问题 在Java中,基本类型参数的传递是值传递,而对象参数的传递是引用传递,也就是说传递给函数方法的参数是原始对象引用(指针)的副本,因此在函数中如果更改了方法参数引用的内存地址(这种改变一般比较隐蔽)就要特别小心了。例如:void foo(String text) { text = "windows";}foo(str); // str 没有被改变上面
2017-06-04 18:13:11 331
转载 回表
在看别人的LOG时看到一个新的名词,是回表。在这里记录下:简单来说,通过索引访问得到表的ROWID,然后根据这些ROWID再去访问表中数据行,就称为回表如果执行计划里出现table access by rowid说明要回表。例子:create table test( name char(5), id int);create index id_test on test(i
2015-11-22 11:34:04 669
转载 Java泛型通配符extends与super
Java 泛型关键字说明? 通配符类型 表示类型的上界,表示参数化类型的可能是T 或是 T的子类 表示类型下界(Java Core中叫超类型限定),表示参数化类型是此类型的超类型(父类型),直至Objectextends 示例static class Food{}static class Fruit extends Food{}static class Apple exte
2014-08-21 22:44:28 548
转载 Java的RTTI
今天读《thinking in java》RTTI的时候被搞得很迷糊,既然 RTTI是运行时类型检查,为什么还要严格和多态区别呢,用书上的原话说就是“Java希望我们始终使用多态机制,只在必须的时候使用RTTI”。那么,RTTI与多态到底有什么区别呢? 在多态的运用中,基类定义方法,子类重写或者重载该方法。在实际编程中,往往用基类的引用去代表继承自该类的所有子类,那么该引用调用的方法必须是
2014-07-07 15:55:22 694 2
原创 观察者模式的一个示例
//设计一个事件源,被监听器监听,观察者设计模式public class Demo1 { public static void main(String[] args) { Person person = new Person(); person.registerListener(new PersonListener() { public void dorun
2014-03-06 20:47:05 716
原创 http协议头
请求头Accept:用于告诉服务器,客户机支持的数据类型Accept-Charset:用于告诉服务器,客户机采用的编码Accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式Accept-Language:客户机的语言环境Host:客户机通过这个头告诉服务器想访问的主机名If-Modified-Since:客户机通过这个头告诉服务器资源的缓存时间Refe
2014-02-21 16:48:28 692
转载 有关动态创建释放二维数组,以及指向数组的指针问题集合
转载地址:http://blog.sina.com.cn/s/blog_6a0cb8bc0100u49x.html今天写程序,因为涉及到二维数组的动态创建及释放问题,浏览了相关的文章才发现我的思路有些错误;我一直认为二维数组名就是指针的指针: 例如: int** b; int a[2][3];
2014-02-17 19:39:26 577
原创 关于过滤器的一个例子(涉及到装饰模式)
Decorator设计模式的实现•1.首先看需要被增强对象继承了什么接口或父类,编写一个类也去继承这些接口或父类。•2.在类中定义一个变量,变量类型即需增强对象的类型。•3.在类中定义一个构造函数,接收需增强的对象。•4.覆盖需增强的方法,编写增强的代码。下面是一个解决全站压缩问题的一个过滤器,关于过滤器的执行过程我就不多说了。package com.why.web.f
2014-02-17 18:43:09 622
原创 Java中的类加载机制
关于类的加载,我很早就学习过,只是不是很熟练,经常忘记,所以今天复习了一下,决定把之前学过的东西记下来,便于随时查看。现在我们来看一个经典的程序:package com.why.classloader;public class Singleton { private static Singleton singleton = new Singleton(); public st
2013-12-16 21:33:28 665
原创 Executor
当我在看Executor的时候,当时不太理解execute方法的语义,导致了不太理解为什么说Executor接口执行已提交的 Runnable 任务的对象,此接口提供一种将任务提交与每个任务将如何运行的机制(包括线程使用的细节、调度等)分离开来的方法,下面我们来看一段代码:public class TaskExecutionWebServer { private static
2013-11-10 19:05:56 533
转载 数据库的脏读、不可重复读和虚读
脏读、不可重复读和虚读。(数据库)脏读 dirty reads:当事务读取还未被提交的数据时,就会发生这种事件。举例来说:Transaction 1 修改了一行数据,然后 Transaction 2 在 Transaction 1 还未提交修改操作之前读取了被修改的行。如果 Transaction 1 回滚了修改操作,那么 Transaction 2 读取的数据就可以看作是从未存在过的。
2013-11-10 12:05:07 917
转载 Spring MVC 3 深入总结
一、前言:大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。官方的下载网址是:http://www.springsource.org/download (本文使用是的Spring 3.0.5版本)
2013-03-28 17:14:46 320
原创 windows下配置SVN服务器
在windows下配置svn服务器1.下载文件 下载最新版本subversion,我这里选择svn-1.4.5-setup.exe 下载 "Subversion Windows Service" 软件包 下载 TortoiseSVN shell integration utility2.安装Subversion 服务器 由于我下载的是setup.
2012-07-24 14:39:09 452
原创 SecureCRT连接Ubuntu
1.首先要明白什么是ssh?可以把ssh看做是telnet的加强版,telnet的密码和信息都是不加密的,而ssh则加密。2.开启ubuntu上的ssh功能先安装,安装后就自动开启了(1).sudoapt-get install openssh-server openssh-client(2)首先安装SSH服务输入:sudoapt-getinstallopenssh-ser
2012-07-24 14:38:05 400
原创 为Linux增加虚拟内存(也就是交换分区)
swap空间就是虚拟内存,在物理内存不足时,有较大的用处。 查看内存空间大小:free -m // m表示显示的字节单位是m(megabytes) 下面我们就来增加系统的 Swap 大小。 1.首先用命令free查看系统内 Swap 分区大小。 free -m total used free sha
2012-07-24 14:37:13 481
原创 chmod的四位数的第一位代表什么
权限标志通过三个“位”来定义,分别是: setuid:设置使文件在执行阶段具有文件所有者的权限。比如/usr/bin/passwd,如果一般用户执行该文件,则在执行过程中,该文件可以获得root权限,从而可以更改用户的密码。 setgid:该权限只对目录有效。目录被设置该位后,任何用户在此目录下创建的文件都具有和该目录所属的组相同的组。 sticky bit:该位
2012-07-24 14:36:04 1973
原创 配置JDK和Tomcat环境变量
1.安装JDK安装好JDK后,再配置JDK的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—> “环境变量(N)”。新建系统变量JAVA_HOME:C:/Program Files/Java/jdk1.5.0_06;新建系统变量CLASSPATH:.;%JAVA_HOME%/lib;(注意:点号表示当前目录,不能省略)在系统变量Path的值的前面加入以下内容:%JAV
2012-07-24 14:34:49 344
原创 Linux如何把应用程序图标添加到桌面上
想要把应用程序图标添加到桌面上,请先确保已设置了在桌面上显示图标,方法是: 1、安装gnome-tweak-tool。 2、在terminal下使用当前用户输入命令gnome-tweak-tool选择“desktop”设置“Have file manager handle the desktop”为“on"。接下来 实现在桌面显示图标:
2012-07-24 14:33:42 8117
原创 解读Java Socket非阻塞模式
NIO主要原理和适用NIO 有一个主要的类Selector,这个类似一个观察者,只要我们把需要探知的socketchannel告诉Selector,我们接着做别的事情,当有 事件发生时,他会通知我们,传回一组SelectionKey,我们读取这些Key,就会获得我们刚刚注册过的socketchannel,然后,我们从 这个Channel中读取数据,放心,包准能够读到,接着我们可以处理这些数据。
2012-07-24 14:32:11 763
转载 使用NIO实现非阻塞Socket通信
服务器端:import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectableChannel;import java.nio.channels.SelectionKey;
2012-07-24 14:30:07 1355
转载 XP硬盘安装Ubuntu 10.10双系统图解
Maverick Meerkat Ubuntu 10.10启用了全新的安装程序,使得整个安装过程不但焕然一新,对那些不太熟悉Linux环境的用户来说也更容易使用了。 在安装过程中,用户可以下载软件更新,安装无线网卡官方驱动,并完成对MP3音频文件、Adobe Flash Player播放器、Java、DVD播放的支持。 下面说说在Windows XP系统下硬盘安装Ubuntu 10.1
2011-06-29 19:37:00 283
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人