查找的文章

Java语法 Caused by: java.net.URISyntaxException: Illegal character异常解决方法
    如果直接在浏览器中输入带特殊字符的url是没有问题的,但是,如果通过httpclient这个客户端来请求带特殊字符的url时,例如空格等,这个时候,就会出现上面的异常,需要对这些特殊字符进行转义。目前有2种方案:第一种:先把String转成URL,再能过URL生成URI的方法来解决问题。URLurl=newURL(strUrl);URIuri=newURI(url.getProtocol(),url.getHost(),url.getPath(),url.getQuery(),null...  更多
1104 2019-06-28
Java语法 wait方法与sleep方法的区别与相似点
    虽然wait与sleep都会使当前线程进入阻塞。但是2者有很大的区别:1.wait与sleep都会使当前线程进入阻塞2.wait与sleep都会被中断而且都能收到中断异常信息3.wait方法在object中,而sleep是Thread类特有的方法4.wait方法必须在同步代码中执行,而sleep不用。5.在同步代码中,用sleep并不会释放锁和已经获取的资源,而wait方法会。6.二者都可以指定时间退出阻塞,如果wait没...  更多
835 2019-06-27
Java语法 线程间的通信:wait,notify,notifyAll方法的使用与详解
    线程间的通信是为了在获取共享资源时不发生死锁,主要是用到Object类的wait,notify,notifyAll方法来实现的,接下来我们来认识它们的使用。一,2个线程的通信:wait,notifywait方法:notify方法一,2个线程的通信:wait,notify我们实现一个同步队列,这个队列有3种状态:1.队列为空时,获取线程不能获取要进行阻塞2.队列为满时,存入线程不能存入要进行阻塞3.有存入数据都是队列没有满时,代码:publicclas...  更多
1329 2019-06-27
Java语法 解决Class bytes found but defineClass()failed for错误和修改eclipse自带Ant运行的jdk版本
    ClassbytesfoundbutdefineClass()failedfor:这种的意思是说,class文件找到了但是解析失败,主要是编译环境的JDK版本和在容器中运行的JDK版本是否一致或者后者比前者高,高版本JDK编译的class在低版本JDK容器下无法运行的。我看了一下,我的开发环境上的tomcat是用jdk6,而我的本地eclipse用Ant打包时,用的是jdk7,所以造成这样的错误。1.修改eclipse自带Ant运行的...  更多
896 2019-06-11
Java语法 深入理解5种单例模式以及对其的改造在多线程下的使用
    我们常用的单例模式有:饿汉模式、懒汉模式、双重锁懒汉模式、静态内部类模式、枚举模式,我们分析下这些模式的区别以及对其的改造。1.饿汉模式:2.懒汉模式:3.双重锁懒汉模式(DoubleCheckLock)4.静态内部类模式:5.枚举单例:1.饿汉模式:publicclassSingleTon{privatestaticSingleTonINSTANCE=newSingleTon();privateSingleTon(){}publicstaticSingleTongetI...  更多
Java语法 Thread线程start方法的深入解析:模板设计模式的使用
    大部分面试时面试官会问,为什么开始一个线程时调用start方法而不是run方法呢?这里主要涉及到Thread里用到了模板设计模式。1.了解模板设计模式2.总结创建线程方式1.了解模板设计模式publicclasstest{publicfinalvoidprint(){System.out.println("##################");messgae();System.out.println("##################");}publicvoidmessgae(){}publicstaticvoi...  更多
984 2019-05-31
Java语法 List<Map>或者List<JavaBean>根据每个字段进行分组
    我们从数据库查出所有的记录是放入List&lt;Map&gt;或者List&lt;JavaBean&gt;中的,但是我们有时要根据每个字段分组,我们可以这样分成Map&lt;key,List&lt;JavaBean&gt;&gt;代码:获取所有狗的生病记录,按照年龄进行分组,年龄为Map的KeyList&lt;Dog&gt;currentBcValue=dao.getAllDog();Map&lt;String,List&lt;Dog&gt;&gt;dogMap=newHashMap&lt;String,List&l...  更多
1460 2019-05-16
Java语法 保留Java中Double小数点后几位的几种方法
    Java在开发统计过程中,我们先用double类型的数据计算各种结果,然后这些结果我们又要保留小数点后几位,所以在这记录java是如何保留小数点后几位和四舍五入的几种方法。返回double型的1.能四舍五入doubled=114.145;d=(double)Math.round(d*100)/100;System.out.println(d);2.BigDecimal.ROUND_HALF_UP表示四舍五入,BigDecimal.ROUND_HALF_DOWN也是五舍六入,BigD...  更多
1058 2019-05-05
Java语法 Java8中字符串时间转 Date与LocalDateTime、LocalDate、LocalTime互转
    当用Java8的日期类LocalDateTime和DateTimeFormatter处理String型的日期类型yyyy-MM时出现了问题:java.time.format.DateTimeParseException:Text‘2019.04.30’couldnotbeparsed:UnabletoobtainLocalDateTimefromTemporalAccessor,原来LocalDateTime.parse()方法只能转换精确到时间的字符串。LocalDateTime是LocalDate和LocalTime的结合,Loca...  更多
Java语法 Java数组的选择,冒泡,快速,插入,反转排序算法详解
    Java的数组排序有选择排序,冒泡排序,快速选择排序,直接插入排序,当然还有反转数组中的元素顺序等等多种算法选择排序基本思想:每次循环选择最小(最大)的一个元素,顺序排在已经排好元素的最后(前面),直到所有待排序的元素排完。如:待排序的数组{5,6,3,5,7,4};第一次:{5,6,3,5,4,7};第二次:{5,4,3,5,6,7};….实现代码:int[]array={5,6,3,5,7,4};intindex;for(inti=1;i<array.length...  更多
1149 2019-04-21