当程序员老去 很多年以后,在我60岁的那天早晨,天刚蒙蒙亮我就起床了,先去公园晨练,然后回来做早餐(50岁的时候我学会了做饭),送完外孙上学,刚好8点。由于北京从2020年开始单双月限行了,这个月是单月,所以只能挤地铁。人一如既往的多,一小伙子要给我让座,看了看他的小身板,我说不用,你也是干 IT 的吧,今天咱们都是程序员。 来到公司,墙上那条新贴上去的刺眼规定总是让我很不舒服:所有的
输入一个正整数n,返回一个最小正整数m(m至少是2位数),使得m的各位乘积等于n,例如输入36,输出49,输入100,输出455,对于某个n不存在这样的m,请返回-1。 输入一个正整数n,返回一个最小正整数m(m至少是2位数),使得m的各位乘积等于n,例如输入36,输出49,输入100,输出455,对于某个n不存在这样的m,请返回-1。package hope20141002_01;import java.util.*;public class JingDong { public static void main(String[] args) {
Ant配置 ANT_HOME is set incorrectly or ant could not be located Ant差点找死的原因 搭建Ant时,我弄了半天,在命令行里还是报错:ANT_HOME is set incorrectly or ant could not be located. Please set ANT_HOME.我检查步骤:1、jdk安装了呀,JAVA_HOME配置了呀: JAVA_HOME:E:\Java\jdk1.5.0_06;2、Ant解
世界黑客编程大赛冠军的代码,很震撼~~( 这是世界黑客编程大赛第一名的作品(97年Mekka ’97 4K Intro比赛),汇编语言所写。整个程序全长4095字节, 生成.com程序只有4K,可是却实现了3D动画的效果,还有一段背景音乐!画面是游戏天旋地转的一个场景!绝对牛! 1)把下面的代码粘贴到记事本里面,另存为 1.txt 文档。 2)在命令行窗口下(在开始→运行→cmd),进入文档所存盘符,输入debug
TCP IP三次握手 当两台主机采用 TCP 协议进行通信时,在交换数据前将建立连接。通信完成后,将关闭会话并终止连接。连接和会话机制保障了TCP 的可靠性功能。 请参见图中建立并终止 TCP连接的步骤。主机将跟踪会话过程中的每个数据段,并使用 TCP 报头中的信息了解每台主机所接收到的数据。 每个连接都代表两股单向通信数据流或者会话。若要建立连接,主机应执行三次握手。TCP 报头中的控制位
ssl SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
浅谈数据库索引 数据库索引是为了增加查询速度而对表字段附加的一种标识。见过很多人机械的理解索引的概念,认为增加索引只有好处没有坏处。这里想把之前的索引学习笔记总结一下:首先明白为什么索引会增加速度,DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的
锁&加锁粒度 为什么要加锁?加锁是为了防止不同的线程访问同一共享资源造成混乱。打个比方:人是不同的线程,卫生间是共享资源你在上洗手间的时候肯定要把门锁上吧,这就是加锁,只要你在里面,这个卫生间就被锁了,只有你出来之后别人才能用。想象一下如果卫生间的门没有锁会是什么样?什么是加锁粒度呢?所谓加锁粒度就是你要锁住的范围是多大。比如你在家上卫生间,你只要锁住卫生间就可以了吧,不需要将整个家都锁
java 简单的扫雷游戏 //扫雷游戏package Bible001;import javax.swing.*;import java.awt.event.*;import java.awt.*;public class Mine extends MouseAdapter { private JFrame mainFrame; private int[][] data; private JButton[
集合的排序 对于没有排序功能的集合来说,都可以使用java.util.Collections.sort()方法进行排序,它除了集合对象以外,还需要提供一个比较器。如果列表中的元素全部都是相同的类型,并且这个类实现了Comparable接口,就可以简单的调用Collections.sort()方法,如果这个类没有实现comparable接口,那么可以创建一个比较器传递一个Comparator实例作为Sort()
Java中的深拷贝(深复制)和浅拷贝(浅复制) 深拷贝(深复制)和浅拷贝(浅复制)是两个比较通用的概念,尤其在C++语言中,若不弄懂,则会在delete的时候出问题,但是我们在这幸好用的是Java。虽然java自动管理对象的回收,但对于深拷贝(深复制)和浅拷贝(浅复制),我们还是要给予足够的重视,因为有时这两个概念往往会给我们带来不小的困惑。浅拷贝是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对象。深拷
Java内存管理机制 Java内存管理机制在C++语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露。Java语言对内存管理做了自己的优化,这就是垃圾回收机制。Java的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由GC(garbage coll
String对象池的作用 我们知道得到String对象有两种办法:String str1="hello";String str2=new String("hello"); 这两种创建String对象的方法有什么差异吗?当然有差异,差异就在于第一种方法在对象池中拿对象,第二种方法直接生成新的对象。在JDK5.0里面,Java虚拟机在启动的时候会实例化9个对象池,这9个对象池分别用来存储8种基本类型的包装类对象和
如何学好编程-写给还在学校的学生 如何学好编程-写给还在学校的学生10月份一直在忙上一个项目,每天都淹没在一大堆英文文档里,不断的实验、总结,就是晚上回到家里还是在思考着一些解决方案。博客也就闲置了整整一个月,北京的冬天来了,也一直找不到写东西的心情。现在项目告一段落,也重新进入了学习探讨的状态,于是觉得该写点什么了。听一些学弟学妹在述说这学院发生的事情,回忆自己学习各种技术一路走来的各种迷惘,决定写下一些个人经验下来,算是给
请教大家:这段程序定义的三个引用,在堆中是不是其实只创建了两个String对象?? package Bible001;public class EqualTestApp { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String a="1234"; String b="1234"; String
2014 腾讯 暑期实习生笔试题+大家可以说说自己答案。。 昨天参加的腾讯2014暑期实习生笔试,整个考场流程真挺严格的,题目量还可以,2个小时,但是,试卷上有交代不可以外传,否则,后果很严重。基于此,就写一个试卷上觉着挺好玩的一个题,大家也可以讨论一下。。。题目是: 一个左轮手枪,手枪里面有六个装子弹的空槽,这六个槽里连续放入两颗子弹,两颗子弹弹槽相邻,有一个人拿起这个手枪朝自己头上开了一枪,没死,现在给你两个选择: 1,拨