摘要:
快速展开类:ctrl + shift +*(小键盘) 快速关闭类:ctrl+ shift + /(小键盘) 快速展开类:ctrl + shift +*(小键盘) 快速关闭类:ctrl+ shift + /(小键盘) Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 C 阅读全文
摘要:
冒泡排序是一种简单的交换排序,其原理是对排序对象从头到尾进行扫描,并对相邻两个元素做比较,数值大的往后移。 一般的,对n个元素进行冒泡排序,总共需要进行n-1趟。第一趟需要比较n-1次,第二趟需要比较n-2次,......,第n趟需要比较n-i次 算法实现: 阅读全文
摘要:
平时,一般使用tomcat/bin/startup.bat目录在windows环境启动Tomcat,或者使用IDE配置后启动。 下面来简单介绍下如果在cmd窗口直接输入命令启动Tomcat: 1、将tomcat的bin目录加到系统环境变量的path值中: 此时,打开cmd,执行tomcat的启动命令 阅读全文
摘要:
最近实际项目中使用到了WebService,简单总结下使用方式: 1、拿到接口:http://*******:8080/osms/services/OrderWebService?wsdl 我们可以将该接口地址在浏览器打开,查看其接口描述: 2、导出接口类,用以后续客户端调用,方法有两种: 方法一: 阅读全文
摘要:
一般我们会使用dom4j、SAX、w3c来解析xml文件,网上也大多提供此类解决方案。 但在实际项目中,也有会解析xml格式的字符串报文的。 比如,有如下字符串: 对如上字符串进行格式化之后: 即使格式化之后,我们也发现这串报文比较特殊,因为它使用了属性而不是元素节点来描述对象。 下面提供dom4j 阅读全文
摘要:
在JDK1.5发布后,提供了Synchronized的更优解决方案:Lock 和 Condition 我们使用这些新知识,来改进例子:【多线程】--生产者消费者模式--Synchronized版本 改进代码如下: 代码执行结果如下图: 阅读全文
摘要:
在实现生产者消费者模式之前,我们先了解一下线程的5种状态:被创建、运行、冻结、消亡、阻塞,如下图: 在Jdk1.5发布之前,我们实现生产者消费者模式一般使用synchronized + while循环实现。 下面就这一方法,围绕一个小需求,进行代码实现: 代码运行效果如下,实现了一个线程负责生产商品 阅读全文
摘要:
关于单例模式,我们首先会想到其两种实现方式:饿汉式、懒汉式 饿汉式: 懒汉式(一般实现方式): 但是上面的饿汉式单例模式,如果在多线程调用的情况下,第8、9行就容易引发线程安全问题。 为了解决这一问题,我们可以引入双重判断同步代码块解决: 事物总不是完美的,虽然例3解决了懒汉式单例模式的线程安全问题 阅读全文