摘要: 1.String、StringBuffer、StringBuilder有什么区别String类代表定长字符串,其内容在创建之后是不可更改的,由于String的不可变特性,该类是线程安全的;StringBuffer代表可变长字符串缓冲区,通过特定的方法可以改变字符串的内容和长度,它是线程安全的;StringBuilder是StringBuffer的一个等价类,具有相似的方法,但是该类是非线程安全的;通过intern方法可由StringBuffer或StringBuilder转化为String,同过append方法可在字符串末尾添加内容。2.Windows下的内存是如何管理的? Windows提. 阅读全文
posted @ 2012-10-09 08:17 stopit 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 控制结构和函数1.关于返回值在scala任何的函数、表达式、方法都有返回值(有些情况类似与java的void,所以scala创立了unit这个标识符来表示特殊的返回值)。(1){}的返回值以其中最后一个表达式的返回值为准,eg:{val r=1;r+1},该表达式的返回值就是2,因为r+1的返回值为2;(2)赋值表达式的返回值为unit,eg:val k=5,该表达式的值为unit的形式;注意:在给变量赋值的时候,注意负数的书写: var t=-1 ,这种写法可能会报错,必须将负数符号与等号加一个空格。2.选择表达式的值(1)... 阅读全文
posted @ 2012-10-05 21:55 stopit 阅读(11024) 评论(0) 推荐(0) 编辑
摘要: 一、你要懂得1.规则(1)无分号:scala中如果一行只包含一条语句,那么语句后面可以不加分号;(2)对象的世界:在scala中,任何类型都是对象。 ——1.toString() // 返回字符串 "1",在这段语句中1是Int对象,它含有toString()方法; ——函数也是对象,函数是这个世界的一等公民(这体现了scala中函数式编程的特点)2.声明值和变量(1)Scala使用有两种关键字来声明值或变量:val:不变量,相当于java中的finalvar:可变量在scala中,vala使用得更加频繁,Eg:val answer = 8 * 5 + 2(2)... 阅读全文
posted @ 2012-10-05 21:15 stopit 阅读(713) 评论(0) 推荐(0) 编辑
摘要: 1.java中的线程调度1.1 分时调度与时间调度计算机通常只有一个CPU,在任意时刻只能一条机器指令,每个线程只有获得CPU的使用权才能执行命令.所谓的多线程的并发运行,其实是指从宏观上看.各个线程轮流或者CPU的使用权,分别执行各自的任务.在可运行池中,会有多个处于就绪状态的线程在等待CPU,JAVA虚拟机的一项任务就是负责线程的调度。线程的调度是指按照特定的机制为多个线程分配CPU使用权。有两种调度模型:分时调度模型和抢占式调度模型。分时调度模型是指让所有的线程轮流获得cpu的使用权,并且平均分配每个线程占用的CPU的时间片这个也比较好理解。java虚拟机采用抢占式调度模型,是指优先让可 阅读全文
posted @ 2012-10-05 12:40 stopit 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 首先这本书简略介绍一下:主要讲了一些java中比较容易让菜鸟困惑的问题,对于求职中的一些笔试(仅仅相对于应届生)还是很有帮助的。下面我将自己认为的比较重要的问题摘录如下:1.static关键字及其是否能够修饰构造方法static关键字修饰的变量都被放在了JVM中的常量池里,这是单独为static开辟的存储区域。static不能够修饰构造函数。static可修饰一般的变量,方法,及代码块。其特点是不依靠其依附类的实例化对象而存在。在类加载时,其修饰的对象就已经存在,而且不管依附类的实例被创建了多少次,static修饰的对象只有一个(也就是共享的)。由于static的唯一性特性,static修饰的 阅读全文
posted @ 2012-10-05 09:38 stopit 阅读(1148) 评论(0) 推荐(1) 编辑
摘要: 一、主要丢包原因1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入一个缓冲区,然后迅速返回继续recv。2、发送的包巨大丢包:虽然send方法会帮你做大包切割成小包发送的事情,但包太大也不行。例如超过50K的一个udp包,不切割直接通过send方法发送也会导致这个包丢失。这种情况需要切割成小包再逐个send。3、发送的包较大,超过接受者缓存导致丢包:包超过mtu size数倍,几个大的udp包可能会超过接收者的缓冲,导致丢包。这种情况可以设置so 阅读全文
posted @ 2012-10-04 11:03 stopit 阅读(28299) 评论(0) 推荐(2) 编辑
摘要: JDBC是sun公司为各种常用数据库提供的一种要用于执行SQL语句的无缝连接技术的API。一、数据库连接流程(1)加载驱动程序使用java中的反射技术:Class.forName("com.mysql.jdbc.Driver");(2)通过DriverManager创建数据库连接对象Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser","root","root");(3)创建Statement类并执行State 阅读全文
posted @ 2012-10-04 10:31 stopit 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 一、什么是scalaScala is a language that fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with Java and its tools. Scala is now used in a rapidly increasing number of open source projects and companies. It provides the core infrastructure for sites such 阅读全文
posted @ 2012-10-03 18:11 stopit 阅读(6038) 评论(0) 推荐(0) 编辑
摘要: 一、分层1.首先是著名的七层架构和TCP/IP架构,这个不能靠死记硬背的,要加入自己的理解在其中:应用层 应用层|表示层|会话层 —————————————— 用户功能部分|传输层 传输层 —————————— 中转| ——————————————— 网络通信部分网络层 网络层|数据链路层 网络接口层|物理层其中,应用程序是应用程序交互的一层,类似于一种接口,应用程序通过该层进行相互间的通信,是整个协议栈中应用程序直接交互的部分;表示层与会话层,将应用程序中的信息转化为适合OSI模型的信息,其中会话层将通信信息转化为“报文”传输层为它上面的应用层提供服务;是面向直接通信网络的... 阅读全文
posted @ 2012-10-02 17:47 stopit 阅读(340) 评论(0) 推荐(0) 编辑
摘要: from:http://blog.jobbole.com/28784/引言在黑客的世界里,你所提技术问题的解答很大程度上取决于你提问的方式与解决此问题的难度,本文将教你如何提问才更有可能得到满意的答复。开源程序的应用已经很广,你通常可以从其他更有经验的用户而不是黑客那里得到解答。这是好事,他们一般对新手常有的毛病更容忍一点。然而,使用我们推荐的方法,象对待黑客那样对待这些有经验的用户,通常能最有效地得到问题的解答。第一件需要明白的事是黑客喜欢难题和激发思考的好问题。假如不是这样,我们也不会写本文了。如果你能提出一个有趣的问题让我们咀嚼玩味,我们会感激你。好问题是种激励与礼物,帮助我们发展认知, 阅读全文
posted @ 2012-09-29 13:42 stopit 阅读(202) 评论(0) 推荐(0) 编辑