2011老博文
文章平均质量分 61
magicxin031
A Serious Front-End Engineer
blog: http://shinxi.com/
linkedin: https://www.linkedin.com/in/jinxin-xi-81971762
展开
-
代码的坏味道(1)—重构改善代码的既有设计
很长很长的函数,很多很多的不知所云的变量,相信大家肯定碰到过这样的代码,这种代码真的很dirty,维护起来绝对让人心烦意乱。重构改善代码的既有设计这本书确实是一本不错的书,对程序员的代码修养的提升是有帮助的。要写一手好的代码,其实就像练功一样,要时刻练习。虽然这是本重构的书,但是重构的好处就在于,重构时了解到了这种代码不该这么写而该那样写,那么在自己下次写代码的时候就知道了该怎么写,在改错误的原创 2016-04-28 11:22:26 · 914 阅读 · 0 评论 -
java.io小结
java io(对于其中的close方法,PrintStream和PrintWriter是不需要捕获的)Reader下面有:BufferedReader、CharArrayReader、FilterReader、InputStreamReader、PipedReader、StringReaderWriter与Reader相反InputStream下面:常用的:FileInputStream,原创 2016-04-28 11:20:33 · 245 阅读 · 0 评论 -
TCP与UDP
1、Socket编程客户端的主要步骤1) 客户端提供主机地址和端口号使用socket端口建立连接,得到DataOutputStream和DataInputStream。2) 创建Socket(stocket=ip+端口),new Socket(Server ip,Server port)试图连接,如成功才有对象3) 调用socket.getInputStream,socket.getOutp原创 2016-04-28 11:20:42 · 257 阅读 · 0 评论 -
详细总结抽象类和接口的区别
抽象类:(1)包含抽象方法(C++叫纯虚函数)的类叫做抽象类,一个类包含一个或多个抽象方法(仅有声明但没有方法体),该类必须被限定为抽象的。否则编译器会报错。(接口中的属性隐式地是static和final的,接口中的方法默认为public的,这些方法被继承的过程中,一定要申明为public的,否则访问权限降低,java编译器不允许)。(2)为抽象类创建对象是不安全的。如果从一个抽象类继承,并想创原创 2016-04-28 11:20:51 · 255 阅读 · 0 评论 -
struts标签
Struts标签视图端的技术,是用在JSP中的。使用标签的好处是界面清晰,是界面都是标签,对界面开发人员有好处,只要界面开发人员弄懂标签这门技术就可以了。可重用性、封装性比较好,一个标签就可以办到,而不用重复的在不同的页面中写代码了bean:write等struts标签是在服务器端即tomcat中执行的,而input等html语句是在客户端解析的,由IE执行的logic:empty与logi原创 2016-04-28 11:20:59 · 304 阅读 · 0 评论 -
线程-synchronized(this)的含义和wait和sleep的区别
1、synchronized(this)的含义,是锁定当前对象,还是锁定一段代码,举个例子看看能另外一个线程能否访问这个类对private属性。 事实证明,synchronized修饰的method1的话,如果该类中method2没有加synchronized修饰符,则如果在执行 method1的过程中,主线程可以执行了method2,也就是说,如果method2改变该类属性的话,在method1原创 2016-04-28 11:21:11 · 2932 阅读 · 0 评论 -
基础类、二维数组的定义格式、File类
1、基础类:String(java.lang)是final类,Math(java.lang)是final类,基础类型的包装类都是final类String:其中一个构造方法:String(char[] value)一些有用的方法:static String valueOf(int i) 返回参数的字符串类型,参数有8大基本类型,byte,short自动能转换成int,所以其实只有6大,参原创 2016-04-28 11:21:19 · 1344 阅读 · 0 评论 -
sql server 2000数据库普通行列转换
标题:普通行列转换(version 2.0)作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)时间:2008-03-09地点:广东深圳说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数原创 2016-04-28 11:21:30 · 402 阅读 · 0 评论 -
Javascript前台简单验证插件
其实基于Js的验证插件机很多很多,使用起来也非常方便。为了学习Js的目的,在工作中我也自己写了个小验证插件,非常简单。我觉得验证框架的大体流程是这样的,(1)收集需要验证的元素(干扰式:直接写在页面表单中,无干扰式:使用Json配置需要验证的元素并在验证框架中分析Json提取需要验证的元素)(2)选择验证方式(离开输入框即验证、表单提交验证等)(3)使用验证方法验证(使用正则表达式原创 2016-04-28 11:21:39 · 604 阅读 · 0 评论 -
Javascript前台简单验证插件2
前面的easyFormValidateWithJquery.js是基于 Jquery的,是我在工作中的第一个验证插件,使用起来比较灵活的。但是不足之处也显而易见,除了细节方面的诸多不足,最大的不足就是在于是干扰表单式的,所以一定要对表单的元素属性进行修改,这就在可重用性、维护性等方面造成了不便,这毕竟是把双刃剑,灵活的同时污染了表单。其实在工作中很快我就写了第二个验证插件,这次是无干扰式的,而原创 2016-04-28 11:21:50 · 855 阅读 · 0 评论 -
数据库事务的四个基本要素
ACID,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库系统,必需要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求.原子性 (At原创 2016-04-28 11:21:59 · 10416 阅读 · 0 评论 -
关系数据库的几种设计范式
第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一原创 2016-04-28 11:22:07 · 892 阅读 · 0 评论 -
高效访问数据库—SQL语言技术
在我们编程的时候,涉及到数据库的操作,就效率而言,其实对我们一般的程序员来说,最重要的莫过于对数据库的访问了,如果你能保证尽量少的Connection,而在一次Connection中做尽量多的事情,就达到了效率的第一层了,第二层的话你就要尽量使用一句sql语句做更多的事情,再往上的话就得了解数据库的物理存储机制,其实我觉得对于一般的程序员而不是数据库管理员的话,了解第一第二层就行了,而实际原创 2016-04-28 11:22:16 · 1056 阅读 · 0 评论 -
代码的坏味道(2)—重构改善代码的既有设计
代码的坏味道就像病人的病状一样,知道了病状,就可以对症下药。文中的重构手法在书中都可以找到。Duplicated Code1、同一个类的两个函数含有相同的表达式。重构手法:Extract Method2、两个互为兄弟的子类内含相同的表达式。重构手法:Extract Method+Pull Up Method或Extract Method+Form Template Method/Sub原创 2016-04-28 11:22:33 · 950 阅读 · 0 评论 -
JVM和JRE的详细解释
凡是接触过 Java 的人都知道 JRE 的概念,即 Java 运行时环境( Java Runtime Environment ),因为它是运行 Java 程序必不可少的(除非程序用 GCJ 等编译,但我怀疑这样处理后还能不能称之为“ Java 程序”了)。Java 喊出的带有标志性的口号“ Write Once , Run Anywhere (一次编写,到处运行)”(记得某老师给俺们上课讲到原创 2016-04-28 11:20:23 · 566 阅读 · 0 评论