- 博客(125)
- 收藏
- 关注
关系数据库常用SQL语句语法大全
创建表 语法 CREATE TABLE <表名>(<列名> <数据类型>[列级完整性约束条件] [,<列名> <数据类型>[列级完整性约束条件]]…); 列级完整性约束条件有NULL[可为空]、NOT NULL[不为空]、UNIQUE[唯一],可以组合使用,但是不能重复和对立关系同时存在。 示例 -...
2016-05-18 12:58:09
215
程序员面试不完全指南
程序员找工作难,想要被成功聘用更难。最常见的办法是经历一次又一次的面试失败后自己琢磨出面试技巧,当然也可以花钱到一些培训机构去接受专业的书面简历和模拟面试的指导。这些方法可能都会奏效,但是却并不是时间和金钱利用率最高的。软件行业的工作期望比其他大多数岗位都要来得高。在这严格的选拔人才的机制下,只要我们花点心思,还是可以手到擒来,顺利地拿下心仪的工作岗位。写简历既简短又要突出重点。不超过...
2014-11-18 08:29:44
270
破解本地MySQL数据库密码
破解本地MySQL数据库密码: 1.用系统管理员登陆系统。 2.停止MySQL的服务。 Windows:运行net stop mysql关闭数据库 3.进入命令窗口,然后进入 MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin 4.跳过权限检查启动MySQL, c:\mysql\bin>mysqld-nt ––skip...
2014-11-13 09:14:13
415
Java中replace和replaceAll的区别
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串); 2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把...
2014-11-08 10:12:17
207
27种迹象显示你应该辞掉程序员的工作
1、你仍然在等待老板在2010年答应的要提拔你的暗示。2、你的上级近10年没有开发过任何代码。3、老板假装懂你说的这些技术,但实际上他完全不知道你在说什么。4、你干完的项目6个月后才部署到现场服务器上。5、时不时的,老板在检查你刚刚完成的工作时,要求按新想法重新开发。6、而最终这个软件只有12个用户。7、时间全浪费在办公室政治中,而不是用在开发好的软件上。8、部署...
2014-11-01 17:32:16
155
需求管理是需求开发的基础
为什么cmmi建议需求管理在2级实施、而需求开发在3级实施呢?以前看cmmi的时候对这个是有疑问的,但是当时问了其他人也没有人很清楚,也就睁一眼闭一眼了。这次培训后,我从“成熟的过程有利于新技术的引入”的思想中得到一些启发,我觉得是不是cmmi认为,只有把需求管理做好了,做到了对需求管理理念的理解和认同,继而形成了好的习惯之后,需求开发作为一种新的技术,是相关管理人员在了解了自己的需求现状(有度...
2014-10-22 10:00:10
226
程序员学好英语的方法
英语对每个人来说都很重要,对于程序员来说尤其的重要,因为一些框架都是外国大佬写的,我们要时时的阅读API,而这些API大多数都是英文了,所以我们程序员对英语的要求还是蛮高的。下面我整理的一些学习英语的方法,分享给大家,不喜勿喷。 一、一个相对容易坚持的办法就是,找一本和当前工作相关的、急需的技术图书,每天拿出一小时阅读,不认识的单词,如果不影响阅读可以不查词典。如果某个单词多次出现,那么...
2014-10-16 22:34:57
155
做Java开发这一年
从去年到现在,从.NET转向Java开发(只是因为项目原因,绝对与平台好坏没有关系)差不多有一年的时间了。通过这一年时间也有些感触,想从几个面比较一下这两个平台。希望能做到客观公正。 语言 我原来是使用C#语言的,和现在的Java语言相比,现在的Java语言语法就停留在C# 2.0这个年代。语法结构都非常传统,中规中矩。很突出的一点是,因为缺少对闭包的支持,有些用C#很容易做到的,用...
2014-10-11 13:50:01
140
Linux下给 ATI 显卡降温
随着最近气温的逐日升高,爱机也开始发起热来了。近日, 偶同事本本的温度更是一度飚升至 90 多度,虽然采取了拆 机除灰等手段,但效果并不好。后来发现该机为 ATI 显卡,于是向 Kernel 传递了如下引导 参数:radeon.dpm=1没想到效果非常好,现在降到了 50 多度。经查证,Linux 内核从 3.11 开始,为 Radeon 卡添加了动态 电源管理功能,上述...
2014-04-13 10:47:13
211
Linux中10个有用的命令行补齐命令
在Linux系统中,输入一个命令,再按两次TAB键,就会列出所有以输入字符开头的可用命令。这并不新鲜,很可能你已经知道了这个。这个功能被称作命令补全。默认情况下,bash命令行可以自动补全文件或目录名称。不过,我们可以使bash命令行补全执行更多的操作,通过补全命令可以让它成就下一个辉煌。这个教程说明了我们是怎样使用可编程的命令行补全功能(programmable completion)把自...
2014-04-06 10:25:40
225
对关系型数据库局限性的重新思考
在NoSQL的历史上有很多曲折反复,所有曲折进程和定义不明确算所带来的最不幸的一部分,就是失去了一些很有价值的东西。这篇帖子不是关于Nosql定义的不同,而是表明所有被归类为专属于无模式的的数据库世界中的巨大好处,也可以轻松应用到关系数据库世界中。 忘掉迁移 也许关于提到无模式数据库最大好处就是你只要一提交代码就它可以很好的工作。大约五年前Heroku发布 git push hero...
2014-03-14 09:23:17
776
Java中的线程Thread总结
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。 要注意的是Thread类也实现了Runnable接口,因此,从Thread类继承的类的实例也可以作为target传入这个构造方法。可通过这种方法实现多个线程的资源共享。 线程的生命周期: 1.新建状态(New):用new语句创建的线程对象处于新建状态,此时它和其它的java对象一样,仅仅在堆中被...
2014-03-13 09:19:05
143
Java文件操作类FileManager
读写文件是最常用的操作之一,每次将相应的代码片段复制过来不仅麻烦,还会影响整体的美观。为此我单独写了一个文件操作的类,需要时先把这个类的代码粘过去,再调用就方便多了。import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io....
2014-03-12 16:53:06
1716
Git 技巧:恢复到前一次提交
有时候你希望将你现在的代码返回到前一次提交,并保留所有之前的变化。你希望在前一次提交与当前HEAD之间提交新的代码。首先,以你希望退回的提交处新建一个分支为 'revert-branch' 。在这个例子中,我们希望退回到前一次提交(假设当前分支为'master'),并且在这个提交上再做修改。git branch revert-branch HEAD^ 接下来切换到新的分支:...
2014-03-06 13:33:06
1277
打开Java中的SecurityManager
SecurityManager在Java中被用来检查应用程序是否能访问一些有限的资源,例如文件、套接字(socket)等等。它可以用在那些具有高安全性要求的应用程序中。通过打开这个功能, 我们的系统资源可以只允许进行安全的操作。当Java虚拟机启动时,它首先通过检查系统属性java.security.manager来确定SecurityManager是否打开了。如果打开了,那么Securit...
2014-03-05 15:07:56
692
项目总结—敏捷测试中多环境如何做到版本控制
软件开发流程中,测试环境是不可或缺的,那涉及到的问题包括,需要多少个环境、分别做什么用,有了环境就要考虑如何部署,部署的时候如何做到版本控制,要保证测试人员进行有效的测试,减少测到一半不能测的情况或者说完全测不下去的情况,相信谁都不愿看到工作被Block住。 环境这个东西尽量不要搞得太多,执行的人记不住,也會導致推一個版本需要很長的時間;太少也不好,环境混杂的話,测试没有办法测试,开发没...
2014-03-02 09:54:16
841
Java中文字符所占的字节数
Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节;采用GB2312或GBK编码方式时,一个中文字符占2个字节;而采用UTF-8编码方式时,一个中文字符会占3个字节。我们可以通过String类的getBytes(String charsetName)方法来获取到字符串以指定编码方式编码后所得到的字节...
2014-03-01 08:51:52
357
如果一切需要重学,2014年应该学哪些技术?
这个问题经常的会被人提及。我一般会这样说,学习一种能让你开发大型系统的语言,还要学JavaScript。对我来说,这种语言是C#和JavaScript。而对于其他人,这种“系统”语言可能是Erlang,Groovy,Ruby,Java,或Scala。这些语言对我用处不大。学这些语言的目标就是要能开发Web应用,当然还有其他应用。 学一种自己喜欢的语言 学一种有社群支持的语言,这也...
2014-02-28 21:21:51
106
单元测试里的 5 个错误
当我第一次听说可以使用框架比如JUnit来进行单元测试的时候,我惊叹这真是一个简单而强大的概念。它取代了随机测试,使你可以保存你的测试代码,并按照需要随时运行它们。按照我的理解,关于单元测试并没有多少产生误解的可能。但是过去的几年中,我确实见过几种或多或少不太正确的单元测试使用方式。这里按照重要程度,列出5条: 1. 跟协作逻辑一起来测试算法。如果跟协作逻辑代码分离开来,那么算法逻...
2014-02-25 17:03:56
317
提升团队编码效率的10个提示
1. 定义好团队结构 可以按照多种方式来定义团队结构,不过最常见的两种是主程序员团队与无我编程团队。 主程序员团队至少由 3 人组成:一个主程序员、一个高级程序员和一个程序管理员。这种结构非常适合于处理简单和直接的任务。另一方面,该结构并不适合于复杂的任务,因为在这种结构下,交流与任务协作都是非常有限的。 无我编程通常是个去中心化的团队,由 10 个左右的程...
2014-02-23 16:56:03
150
Java Socket常见异常处理
在java网络编程Socket通信中,通常会遇到以下异常情况: 第1个异常是 java.net.BindException:Address already in use: JVM_Bind。 该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经被启动,并进行监 听。此时用ne...
2014-02-17 12:49:46
429
Java互联网工程师要具备哪些技能
1.Core Java,就是Java基础、JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,jdk的源代码写的非常好,要经常查看,对使用频繁的类,比如String,集合类(List,Map,Set)等数据结构要知道它们的实现,不同的集合类有什么区别,然后才能知道在一个具体的场合下使用哪个集合类更适合、更高效,这些内容直接看源代码就OK了 2.多线程并发编程,...
2014-02-09 12:39:14
164
编写更好的jQuery代码的建议
当你准备使用jQuery,我强烈建议你遵循下面这些指南: 缓存变量DOM遍历是昂贵的,所以尽量将会重用的元素缓存。12345678910// 糟糕 h = $('#element').height();$('#element').css('height',h-20); // 建议 ...
2014-02-06 18:39:52
89
6 个重构方法可帮你提升80%的代码质量
在过去做了不少代码走读,发现了一些代码质量上比较普遍的问题,以下是其中的前五名:臃肿的类: 类之所以会臃肿,是因为开发者缺乏对最基本的编码原则,即“单一职责原则”(SRP)的理解。这些类往往会变得很臃肿,是由于不同的且在功能上缺少关联的方法都放在了相同的类里面。长方法: 方法之所以会变得很长主要是有以下几个原因:许多没有关联性的、功能复杂的模块的代码都放在相...
2014-02-06 18:06:15
181
使用Java向properties存数据
package writeToProperties;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.Properties;public...
2014-01-24 21:42:38
180
简明解释算法中的大O符号
大O符号是一种算法复杂度的相对表示方式。这个句子里有一些重要而严谨的用词:相对(relative):你只能比较相同的事物。你不能把一个做算数乘法的算法和排序整数列表的算法进行比较。但是,比较2个算法所做的算术操作(一个做乘法,一个做加法)将会告诉你一些有意义的东西;表示(representation):大O(用它最简单的形式)把算法间的比较简化为了一个单一变量。这个变量的选择基...
2014-01-19 17:46:25
440
Web开发者必备:Web应用检查清单
想做一个高质量的Web应用,前前后后要做的事情非常多。国外开发者 Ata Sasmaz 为 Web 开发者制作分享了一份检查清单,包括应用开发、性能、安全、分析、可用性、可靠性、转换策略、竞争策略这些方面需要注意的事项。清单内容可能不全面,欢迎大家在评论中补充。开发记录UI错误日志JavaScript 允许捕获异常。这些异常需要通过Ajax请求提交到日志服务,否则很难截获W...
2014-01-17 22:47:03
169
Unix 高手的另外 10 个习惯
您应当采纳的其他 10 个好习惯包括:使用文件名自动完成功能 (file name completion)。使用历史扩展。重用以前的参数。使用 pushd 和 popd 管理目录导航。查找大型文件。不使用编辑器创建临时文件。使用 curl 命令行实用工具。最有效地利用正则表达式。确定当前用户。使用 awk 处理数据。常用首字母缩写词MB...
2014-01-15 14:54:08
145
解密 JavaScript 中的 this
this的工作原理如果一个函数被作为一个对象的方法调用,那么this将被指派为这个对象。12345678var parent = { method: function () { console.log(this); }}; parent.method();// ...
2014-01-05 16:38:56
110
Java中的break Label 和continue Label
Java中的break Label 和continue Label1:break break语句提供了一种方便的跳出循环的方法,一般只退出一重循环。 boolean test=true; int i=0; while(test){ i++; if(i>=10) break; } 执行这段程序时,尽管while条件表达式始终为真,全循环只运行10次。 2:标号l...
2014-01-01 10:09:45
128
开发者常犯的 9 个错误
哪一个才是创业开发者会制造的最普遍(并且最容易避免)的错误? 这里是他们的首选答案. 1. 基于他们自身的问题构建 大多数创业者(至少是成功的那些)都解决实际问题. 问题是创业者趋向于将个人问题当做社会问题来做计划. 这样,他们就会基于他们自己的需求来构建他们的产品,并希望其能解决社会的问题. 那是创业失败的原因之一. 创业者必须验证他们的问题是否真的...
2013-12-29 10:21:30
128
Java性能监控的一些记录
本篇所有内容都是基于JDK5,如使用JDK6会有差别。 在前些日子,我们做了一些性能监控的工作,有一些值得记录的地方: JDK自身提供了很多工具,基于命令行和GUI的都有,学会合理应用它们是很有用处的。 首先是jmap,这是一个命令行程序,用来查看JVM中对象数量情况,直接输入jmap会显示用法,下面是两个常用的功能: Java代码 jmap -histo 'j...
2013-12-25 12:31:40
140
Java开发中常见的危险信号
这里将要谈及的很多“危险信号”通常都会收到来自于FindBugs等代码分析工具所发出的警告信息,流行的Java IDE也会将它们标记出来。不过,我发现有不少开发者会忽略掉这些来自于工具与IDE的警告信息,要么是因为他们关掉了提示信息,要么是出于自身的开发习惯或是不理解与这些警告信息所关联的风险,因此会忽略掉警告信息。 对引用使用==(而不是.equals) 很多Java开发者都知道...
2013-12-23 09:30:19
95
原创 Java开发中常见的危险信号
这里将要谈及的很多“危险信号”通常都会收到来自于FindBugs等代码分析工具所发出的警告信息,流行的Java IDE也会将它们标记出来。不过,我发现有不少开发者会忽略掉这些来自于工具与IDE的警告信息,要么是因为他们关掉了提示信息,要么是出于自身的开发习惯或是不理解与这些警告信息所关联的风险,因此会忽略掉警告信息。 对引用使用==(而不是.equals) 很多Java开发者都知...
2013-12-23 09:26:01
129
面试10大算法汇总+常见题目解答
以下用Java角度解释面试常见的算法和数据结构:字符串,链表,树,图,排序,递归 vs. 迭代,动态规划,位操作,概率问题,排列组合,以及一些需要寻找规律的题目。1. 字符串和数组首先需要注意的是和C++不同,Java字符串不是char数组。没有IDE代码自动补全功能,应该记住下面的这些常用的方法。toCharArray() //获得字符串对应的char数组Arrays...
2013-12-16 21:24:38
155
永远不要在 Linux 执行的 10 个最危险的命令
Linux命令行佷有用、很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正 在做什么时候。这篇文章并不打算引来你对Linux或linux 命令行的愤怒。我们只是想让你意识到在你运行某些命令时应该三思而后行。1. rm -rf 命令rm -rf命令是删除文件夹及其内容最快的方式之一。仅仅一丁点的敲错或无知都可能导致不可恢复的系统崩坏。下列是一些rm 命令的选项。r...
2013-12-09 21:38:10
115
Java的动态绑定机制
Java的动态绑定又称为运行时绑定。意思就是说,程序会在运行的时候自动选择调用哪儿个方法。 public class Son extends Father Son son = new Son(); son.method(); 1、首先,编译器根据对象的声明类型和方法名,搜索相应类(Son)及其父类(Father)的“方法表”,找出所有访问属性为public...
2013-12-02 11:29:52
245
Java多态性Overload和Override的区别
java中的继承,方法覆盖(重写)override与方法的重载overload的区别 方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。 重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overr...
2013-11-27 09:31:55
108
Java中使用内存映射文件需要考虑的10个问题
ava中的内存映射IO和内存映射文件是什么? 内存映射文件非常特别,它允许Java程序直接从内存中读取文件内容,通过将整个或部分文件映射到内存,由操作系统来处理加载请求和写入文件,应用只需要和内存打交道,这使得IO操作非常快。加载内存映射文件所使用的内存在Java堆区之外。Java编程语言支持内存映射文件,通过java.nio包和MappedByteBuffer 可以从内存直接读写文件。...
2013-11-23 21:35:12
167
如何优化JAVA程序开发,提高JAVA性能
1.对象的生成和大小的调整。JAVA程序设计中一个普遍的问题就是没有好好的利用JAVA语言本身提供的函数,从而常常会生成大量的对象(或实例)。由于系统不仅要花时间生成对象,以后可能还需花时间对这些对象进行垃圾回收和处理。因此,生成过多的对象将会给程序的性能带来很大的影响。例1:关于String ,StringBuffer,+和appendJAVA语言提供了对于String类型变量的操...
2013-11-21 10:00:57
93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人