- 博客(45)
- 资源 (7)
- 收藏
- 关注
原创 Java基础之equals详解
equals是java中最基础的方法,用来比较对象内容,Object中默认的实现是==比较,通常我们在编写自己的类时都会涉及到重写该方法,所以对该方面有个全面深刻的理解和认知是非常有必要的; 首先我们要明白equals约定是为了比较对象内容的,对象的内容进一步理解就是对象的域;要想写出优秀的equals方法,必须明确Java语言规范对equals有哪些特性要求,大致有以下几点:自反性:
2016-03-18 17:58:13
826
原创 开涛的springMVC教程读书笔记
开涛教程原文干净的web表现层 模型和视图分离;控制器中的控制逻辑与功能处理分离(收集并封装参数到模型对象、业务对象调用);控制器中的视图选择与具体视图技术分离;轻薄的web表现层: 做的事情越少越好,薄薄的,不应该包含无关代码;只负责收集并组织参数到模型对象,启动业务对象的调用;控制器只返回逻辑视图名并由相应的应用控制器来选择具体使用的视图策略;尽量少使用框架特定API,保证容易
2016-02-03 11:18:25
660
原创 The Java Programming Language4th读书笔记-第十五章 注解
注解类型可以不显式地声明它扩展自另一个接口,但是所有注解类型都隐式地扩展自Annotation接口;注解类型也不允许时泛型;注解类型不允许直接或间接地拥有其自身类型的元素;
2016-01-25 18:04:40
439
转载 Docker到底是什么?为什么它这么火!
原文地址:Docker到底是什么?为什么它这么火! 摘要:Docker这种新的容器技术可谓热得发烫,因为有了它,人们就有可能让数量多得多的应用程序在同样的旧服务器上运行;有了它,人们也很容易封装和交付程序。本文旨在帮助你进一步了解Docker。 如果你是数据中心或云计算IT圈子的人,这一年多来应该一直在听到普通的容器、尤其是Docker,关于它们的新闻从未间断过。Docker1.0在今年6月
2016-01-22 10:31:08
647
转载 What is Docker and why is it so darn popular?
原文地址:What is Docker and why is it so darn popular?Docker, a new container technology, is hotter than hot because it makes it possible to get far more apps running on the same old servers and it also ma
2016-01-21 12:39:32
496
原创 intellij idea代码编辑区以外的窗口中文乱码问题解决办法
问题现象:搜索栏,调试串口,帮助等窗口的中文都是小方框的乱码;解决办法: File->Settings->Appearance&Behavior->Appearance; 红框选中部分选择Microsoft YaHei UI即可;Apply,然后OK;问题解决;
2016-01-13 19:56:56
1410
1
原创 intellij idea滚动条自动调回原来位置的问题
问题现象:这个问题困惑了很有,具体现象就是如果一行内容在当前视窗显示不全时,如果你拖动滚动条,鼠标放开后滚动条会自动调回到原来位置,并且默认选中当前输入焦点行;问题原因:找了很多方法,最后发现是翻译软件的问题,我用的是有道翻译,主要是自动取词和自动划词这两个功能的问题,关闭之后,该问题即可迎刃而解;
2016-01-07 16:50:23
6409
17
转载 Centos安装(更新)git(亲测有效)
原文地址:Centos安装(更新)git(亲测有效)Centos 6.5默认安装的是git 1.7.X 版本,使用过程中会有一些奇怪的问题,对于用户名、密码支持不是很友好。 将Centos6.5上的git更新到2.0.5,方法如下:1. 安装编译git时需要的包# yum install curl-devel expat-devel gettext-devel openssl-devel zlib
2016-01-06 18:01:40
332
原创 spring整合hibernate时lazy加载失败问题
1. 环境:spring4hibernate4mysql 5.62. 原始问题现象:假设有两个表student和teacher,teachet是student的ManyToOne外键字段,设置如下属性:@OneToOne(fetch = FetchType.LAZY, mappedBy = "student") 当没有在spring配置的transaction中直接如此:student.g
2016-01-05 15:52:53
1231
原创 The Java Programming Language4th读书笔记-第十三章 字符串与正则表达式
intern方法将返回一个String对象,它与被调用该方法的String对象具有同样的内容,然而,任何两个内容相同的字符串在被调用internn方法后返回的String对象都是相同的,这就叫内存限定;方法concat将返回一个新的String,它等价于将+运算符作用于两个字符串上所返回的结果;
2016-01-05 15:26:16
265
原创 The Java Programming Language4th读书笔记-第十二章 异常与断言
异常主要分为: 检查型异常:编译器将检查我们的方法是否只抛出了它们声明自己会抛出的异常;虽然这种情况是异常的,但是一定程度上它的发生是可以预计的,而且一旦这种情况确实发生了,就必须以某种方式来处理;非检查型异常:标准运行时异常(runtime exception)和错误(error)扩展了RuntimeException或者Error;大体上说,它反应了我们的程序逻辑中的错误,而且不能在运行时得
2015-12-29 13:24:42
376
原创 The Java Programming Language4th读书笔记-第十一章 泛型类型
当我们定义泛型类时,所有对这个泛型类的调用都是这个类的表达式。将变量strCell声明为Cell<String>就是在告诉编译器strCell将引用一个Cell<E>类型的对象,其中E是String类型的,而不是告诉编译器创建一个新的Cell<String>类。Cell<String>和Cell<Number>并不是两个分离的类,它们两个都是同一个类Cell的泛型类型调用,只不过以两种不同的方式应用
2015-12-29 12:32:04
348
原创 The Java Programming Language4th读书笔记-第十章 控制流
并非所有的表达式都能成为语句,因为将X<=y这样的表达式单独作为语句通常是毫无意义的。只有下面这几种表达式能够在末尾加上分号编程语句: 含有=或某个op=操作符的赋值表达式;前缀或后缀形式的++和–;方法调用;使用new来创建对象的对象创建表达式;我们应该慎重地使用break语句,并且要考虑到代码的清晰性。任意的跳出循环或语句会造成控制流代码的混乱,使得理解和维护代码变得更为困难;got
2015-12-28 18:53:19
332
原创 The Java Programming Language4th读书笔记-第九章 运算符和表达式
浮点除法和取余运算可能会产生无穷大或NaN的结果,但是绝不会抛出异常: x y x/y x%y 无穷 ±0.0 ±∞ NaN 无穷 ±∞ ±0.0 x ±0.0 ±0.0 NaN NaN ±∞ 无穷 ±∞ NaN ±∞ ±∞ NaN NaN2. strictfp用来声明严格浮点模式,但是严格性不可继承;如果
2015-12-28 18:22:25
363
原创 The Java Programming Language4th读书笔记-第八章 包装器类
包装器类的层次关系: Object->Boolean;Object->Character;Object->Void;Object->Number->Byte;Object->Number->Short;Object->Number->Integer;Object->Number->Long;Object->Number->Float;Object->Number->Double;
2015-12-28 16:58:25
294
原创 The Java Programming Language4th读书笔记-第七章 语言符号、值和变量
语言的基本文字是语言符号。解析器首先将源代码分解成语言符号,然后弄清楚代码是由哪些语句和标识符等构成的。Java的符号化器(tokenizer)是“贪婪”的,在构建下一个语言符号时,它要抓取尽可能多的字符,而不关心所构建的语言符号序列是否有效。于是,就因为++比+长,表达式j = i+++++i;被解释为无效的i++ ++ +i;而不是有效的j = i++ + ++i;double类型的常量不能
2015-12-28 12:33:41
295
原创 The Java Programming Language4th读书笔记-第六章 枚举类型
枚举声明和类声明有两处差异: 它使用的关键字是enum而不是class;在声明任何类成员或初始化块之前,枚举必须首先声明其所有的枚举常量;枚举不能声明为扩展自另一个类型,因为所有的枚举都隐式地扩展自java.lang.Enum;事实上,所有的枚举都隐式是Serializable和Comparable;枚举不能声明为abstract的,然而枚举可以声明抽象方法;
2015-12-28 11:43:13
264
原创 The Java Programming Language4th读书笔记-第五章 嵌套类和接口
嵌套类型主要有两个用途: 嵌套类和嵌套接口使多个类型可以组织成逻辑上相关的组,并具有相应的作用域;更重要的一点,嵌套类可以简单而有效地连接逻辑上相关的对象;该能力被广泛地用于事件框架;例如JavaBeans构建架构;嵌套类型可以看作是其包围类型的一部分,它们之间是互信关系,彼此可以访问对方的所有成员;对于静态嵌套类如何被其他类扩展是没有任何限制的–它可以被任何可以访问到它的类扩展。当然,扩展
2015-12-25 19:52:50
358
原创 The Java Programming Language4th读书笔记-第四章 接口
接口可以声明3中类型的成员: 常量(字段),隐式地是public,static,final的,必须拥有初始器;方法;嵌套类和嵌套接口;所有的接口成员都隐式地是公共的,但是按照惯例,public修饰符被省略掉了。在接口中声明非公共成员是毫无意义的,真正有意义的是我们可以使用接口自身的可访问性来控制对接口成员的访问;除注解外,在接口的方法声明上不允许使用其他任何方法修饰符;接口继承也会有字段
2015-12-25 18:12:07
347
原创 The Java Programming Language4th读书笔记-第三章 类的扩展
在类的外部可以访问的方法和字段的集合,加上它们应具有的行为的描述,通常称为该类的契约。契约是类的设计者对类的行为所做的承诺。如果扩展类构造器的第一条可执行语句既不是调用超类构造器的语句,也不是调用扩展类的某个其他构造器的语句,那么在子类构造器的任何语句执行之前,扩展类的构造方法都会自动调用超类的无引元构造器。也就是说,扩展类构造器的第一条语句被认为是如下这条语句:super();如果超类没有无引元
2015-12-24 19:59:12
353
原创 The Java Programming Language4th读书笔记-第二章 类与对象
最近有时间又把The Java Programming Language读了一下,好多细节都被作者以抽丝剥茧的方式间接的极致入微,在此将一些精华部分摘录成笔记,便于以后快速回顾这本java界的名著; 《The Java Programming Language》Java所有类型的默认初始值: boolean:falsechar:’\u0000’byte, short, int, long:
2015-12-24 17:43:56
475
原创 Thinking in java4th读书笔记-第一章 对象导论
每次读Thinking in java都会有新感悟和进步,此次便决定将一些精华部分摘录成笔记,便于以后快速回复这本java界的名著; 《Thinking in Java 4th Edition》
2015-12-15 18:16:24
615
原创 RESTful架构浅谈
REST不是一种具体的技术架构或者框架,只是在HTTP协议下大家约定俗称的一套准则,就好比大家约定俗称有一百万元就是属于百万富翁,那么如果现在拥有了一百万那么你就自动被大家认为是百万富翁; 其全称为Representational State Transfer,直接翻译为表现层状态转换;什么是表现层,说白了就是用户直接看到的view,而view从哪里来呢,都是从服务器上请求的资源,这里所说的资源
2015-12-04 14:40:44
367
原创 centos6.5使用JMX时远程连接不上的问题
环境说明系统:centos6.5;tomcat: 7.059,使用commons-daemon-native.tar.gz配置自启动;java:1.7.0_75-b13;/etc/hosts: $ServerIp localhost::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
2015-12-02 12:47:04
1925
原创 spring配置packagesToScan的问题
spring配置packagesToScan的问题 使用spirng配置pojo映射时,我们通常会使用packageToScan来简化映射配置,而且通常会使用通配符简化配置代码;比如你的model文件都在com.study.hibernate.entity包下,则配置packageToScan时不能配置成:<property name="packagesToScan"> <list>
2015-11-27 11:25:53
6877
原创 你的理想在哪
每个人都有自己的理想,这一点是至今为止我深信不疑的,不同的是一些人一生中都会把理想带在身边,而一些人则会将它遗落在某个角落中,甚至终生都没有再去触碰过;就是这点不同衍生出不同的人生观和价值观,回到我们日常的生活中,则是对待每一件事的态度。当然今天讨论的主题是工作,作为一个即将毕业的应届大学生,对于以上提出的问题可能会有比较纯粹的观点,对于每天把理想带在身边的人可能会这样说:我离开原来的单位,是
2015-10-29 18:55:47
432
原创 字符编码大全
* 刚开始很多人对于字符集都有莫名的恐惧,究其原因还是对于各种字符集没有清楚的去了解过,当你把每种常用的字符集的来源和基本规则了解清楚之后,会发现字符集一点都不神秘,而且想理解明白也没有太深的东西需要研究,全都是赤裸裸的标准而已*1.ASCII 我们需要了解的最早编码是ASCII码。它用7个二进制位来表示,由于那个时期生产的大多数计算机使用8位大小的字节,因此用户不仅可以存放所有可能的 ASCII
2015-08-20 14:59:44
2432
转载 Struct结构在C和C++中的区别
C语言中:Struct是用户自定义数据类型(UDT)。C++语言中:Struct是抽象数据类型(ADT),支持成员函数的定义。在C++中,struct的成员的默认访问说明符为public,class为private。=====================================================================c中的struct是没有权限设置的。 C++
2015-08-20 14:47:40
643
转载 使用socket函数的一些常见错误
原文地址:使用socket函数的一些常见错误1.socketSOCKET socket( int af, int type, int protocol );af:常为AF_INET 使用AF_ISO等其他地址族标识,而非AF_INET。 返回:-1。 错误:10047(使用了与请求的协议不兼容的地址)type,通常为SOCK_STREAM或SOCK_DGRAM 头文件中定义的只有如下几种
2015-08-20 14:45:36
16856
原创 解决使用fread读取文件并显示时末尾多出几个空符的问题
例如以下的一段代码unsigned char* p_ucbuffer;FILE *pFile;long lFileLen; // 得到文件长度if(TRUE == g_bReadStyle){ pFile = fopen(p_pcstrFileName, "rt"); fseek(pFile, 0, SEEK_END);// 移动到文件末尾 lFileLen = f
2015-08-20 13:15:34
4546
原创 简述一种VC创建DLL文件的方法
在DLL工程头文件中使用宏标识符定义导入导出声明,并声明导出的函数#ifdef FILEDLL_EXPORTS#define FILEDLL_API extern"C" __declspec(dllexport)#else#define FILEDLL_API extern"C"__declspec(dllimport)#endif//声明导出导入函数FILEDLL_API unsign
2015-08-20 13:12:29
472
转载 关于vc的工具提示
原文地址:关于vc的工具提示 1.如何给树控件加入工具提示1.1首先给树控件加入TVS_INFOTIP属性风格,如下所示:if (!m_ctrlTree.Create(WS_CHILD|WS_VISIBLE| TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT|TVS_SHOWSELALWAYS|TVS_INFOTIP,//加入提示TVS_INFOTIP,
2015-08-20 12:12:07
567
转载 LNK2001错误原因
原文地址:LNK2001错误原因由于编码错误导致的LNK2001不相匹配的程序代码或模块定义(.DEF)文件能导致LNK2001。例如, 如果在C++ 源文件内声明了一变量“var1”,却试图在另一文件内以变量“VAR1”访问该变量,将发生该错误。如果使用的内联函数是在.CPP文件内定义的,而不是在头文件内定义将导致LNK2001错误。调用函数时如果所用的参数类型同函数声明时的类型不符将会产生
2015-08-20 12:00:09
622
转载 关于extern C的看法
extern “C” extern “C”包含双重含义,其一:被它修饰的目标是“extern”的;其二:被它修饰的目标是“C”的。1.被extern “C”限定的函数或变量是extern类型的 extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其他模块中使用。 注意:extern int a;
2015-08-20 11:54:03
294
转载 C-Free 5.0注册码
最近在使用一款相当简洁的IDE编译器,使用了一段时间觉得还行,这里就和大家分享一下如何注册吧,因为网上很多注册机都是对C-Free 5.0之前版本的,所以这里分享一个C-Free 5.0的注册码:用户名:tianfang电子邮件:quart163.com注册码:2NnUqd3shO2agta0xNjcusfK1LXO给出一个C-Free 5.0中文专业版的下载地址:C-Free 5.0中文专业
2015-08-20 11:26:34
4728
转载 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-08-20 11:13:00
354
转载 关于CIPADDRESSCTRL在win32SDK中无法使用的问题
我在使用WIN32SDK写一个网络聊天软件时,发现加入IP ADDRESS CONTROL后,使用CIpAddressCtrl的成员函数GetAddress获得写在IP控件中的IP地址时,程序总是出错,具体原因我也不太清楚。于是,我查阅很多资料后,终于找到了解决方法。只需要调用SendDlgItemMessage,向该控件发送IPM_GETADDRESS消息即可,我的程序里具体为:
2015-08-20 10:59:09
468
原创 Delphi中的for循环本质详解
num := 0;count := 5;for i:=0 to count dobegin num := num + 1; if count count := count + 1;end; 如上例所示,for的循环条件是i从0到count,但是循环过程中count发生了变化,此时for语句会怎样处理呢?事实证明,for
2015-08-20 10:57:19
14418
原创 VC动态库和测试工程集成调试的方法
1.建立DDL工程和TestDlg工程,打开测试(TestDlg)工程,右键单击workspace,下拉菜单中点击insert project to workspace,选择.dsp文件完成加入2.为了方便调试,最好将两个工程的文件夹放在同一目录,例如两者都放在myproject文件夹下,然后设定动态库的DLL文件输出路径为../../myproject/TestDlg/***.dll
2015-08-20 10:55:10
1387
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人