获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里面的class的类名表现形式. getCanonicalName() 返回的是更容易理解的类名表示. getSimpleName() 返回的是类的简称. 都有什么区别? 通过一个实例来看下它们主要的区别. public class TestClass { public static void main(String[] args) { // 外部普通类 System.out.println("方法名…
1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下:  要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); date.getTime() ; 还有一种方式,使用 System.currentTimeMillis() ;都是得到一个当前的时间的long型的时间的毫秒值,这个值实际上是当前时间值与1970年一月一号零时零分零秒相差的毫秒数 一.获取当前时间,   格式为:   yyyy-mm-dd   hh-mm…
PHP中获取星期的几种方法   PHP星期几获取代码: 1 date(l); 2 //data就可以获取英文的星期比如Sunday 3 date(w); 4 //这个可以获取数字星期比如123,注意0是星期日 获取中文星期几: 1 $weekarray=array(日,一,二,三,四,五,六); 2 //先定义一个数组 3 echo 星期.$weekarray[date(w)];   PHP星期几获取代码: 1 date("l"); 2 //data就可以获取英文的星期比如Sunday…
Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intValue=arr[5]; //System.out.println(intValue); //创建数组的第二种方法 int[] x={1,2,3,4}; //System.out.println(x[1]); //创建数组的第三种方法. int[] y= new int[]{1,2,3,4,5}; i…
java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下具体的用法以及各自的优缺点 先初始化一个map public class TestMap { public static Map<Integer, Integer> map = new HashMap<Integer, Integer>(); } keySet values 如果只需要map的key或者value,用map的keySet或val…
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. Map<Integer,…
前些天在实现 MyBatis 批量插入时遇到了一个问题,当批量插入的数据量比较大时,会导致程序执行报错,如下图所示: 原因是 MySQL 只能执行一定长度的 SQL 语句,但当插入的数据量较多时,会生成一条很长的 SQL,这样程序在执行时就会报错. ​ 要解决这个问题,有两种方法:第一,设置 MySQL 可以执行 SQL 的最大长度:第二,将一个大 List 分成 N 个小 List 进行.由于无法准确的界定程序中最大的 SQL 长度,所以最优的解决方案还是第二种,于是就有了今天的这篇文章. ​…
package com.ygh.blog.realpath; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Properties; /** * 获取java下面的路径的演示 */ import org.junit.Test; public class RealPathTest { /** * 获取当前类所在的工程路…
转载自: http://doinone.iteye.com/blog/1074283 Android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Application Not Responding)对话框的情况.对于这种情况,一般的方法就是耗时操作用线程来实现.下面列三种获取url图片的方法: 1.直接获取:(容易:ANR,不建议) [java] view plain copy mImageView = (ImageView)this.findViewById…
JAVA中创建线程的方式有三种,各有优缺点,具体如下: 一.继承Thread类来创建线程 1.创建一个任务类,继承Thread线程类,因为Thread类已经实现了Runnable接口,然后重写run()方法,run()方法中的内容就是需要线程完成的任务. 2.创建一个任务类的对象,即创建了线程对象. 3.调用任务类对象的start()方法,来启动一个线程. 代码实例: public class TestThread extends Thread { public void run() { for…
前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性. 原创不易,如果觉得文章对你有帮助,欢迎点赞.评论.文章有疏漏之处,欢迎批评指正. 欢迎转载,转载请注明原文链接:http://www.cnblogs.com/kismetv/p/8757260.html 目录 概述 如何测试线程安全性 方法1:Controller中加参数 方法2:自动注入 方法3:基类中自动注入 方法4:手动调用 方法5:@ModelAttribute方法 总结 概…
前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性. 原创不易,如果觉得文章对你有帮助,欢迎点赞.评论.文章有疏漏之处,欢迎批评指正. 欢迎转载,转载请注明原文链接:http://www.cnblogs.com/kismetv/p/8757260.html 目录 概述 如何测试线程安全性 方法1:Controller中加参数 方法2:自动注入 方法3:基类中自动注入 方法4:手动调用 方法5:@ModelAttribute方法 总结 概…
终止线程一般建议采用的方法是让线程自行结束,进入Dead(死亡)状态,就是执行完run()方法.即如果想要停止一个线程的执行,就要提供某种方式让线程能够自动结束run()方法的执行.比如设置一个标志来控制循环是否执行,通过这种方式让线程离开run()方法. 第一种 使用Thread类提供的stop()方法或suspend()方法强制终止线程(不安全,不要用) 第二种 使用volatile标记位退出线程 第三种 使用 interrupt()方法终止线程 由于其他原因导致线程停滞(如 I/O),进入…
前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性. 原创不易,如果觉得文章对你有帮助,欢迎点赞.评论.文章有疏漏之处,欢迎批评指正. 欢迎转载,转载请注明原文链接:http://www.cnblogs.com/kismetv/p/8757260.html 目录 概述 如何测试线程安全性 方法1:Controller中加参数 方法2:自动注入 方法3:基类中自动注入 方法4:手动调用 方法5:@ModelAttribute方法 总结 概…
在某些特殊的场景下,我们需要在 Java 程序中对 List 集合进行排序操作.比如从第三方接口中获取所有用户的列表,但列表默认是以用户编号从小到大进行排序的,而我们的系统需要按照用户的年龄从大到小进行排序,这个时候,我们就需要对 List 集合进行自定义排序操作了. ​ List 排序的常见方法有以下 3 种: 使用 Comparable 进行排序: 使用 Comparator 进行排序: 如果是 JDK 8 以上的环境,也可以使用 Stream 流进行排序. 下面我们分别来看各种排序方法的具…
Spring MVC 中使用session是一种常见的操作,但是大家上网搜索一下可以看到获取session的方式方法五花八门,最近,自己终结了一下,将获取session的方法记录下来,以便大家共同学习进步. 第一种:将HttpSession作为Spring MVC 的方法参数传入,直接获取. 直接在Spring MVC 的方法中将参数传入: public void getSessionAction(HttpSession session){ } 这种方法我再网上搜索时发现很多人并不推荐使用,但是…
      喜欢用Java写程序的朋友都知道,我们常用的一种数据结构map中存储的是键值对,我们一般存储的方式是: map.put(key, value); 而提取相应键的值用的方法是: map.get(key);       确实,这些就是map的基本方法,可是,如果我想查看map中所有的元素怎么办?也就是想遍历其中的每个元素.       下面,我就介绍三种方法遍历map: 说明:我在map中存储的值是CSDN一博主的QQ签名,当我遍历的时候你会看到. 1.map不是集合,所以,map并不存…
1.jsp中取得路径:   以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到工程名:request.getContextPath() 结果:/TEST (3)得到当前页面所在目录下全名称:request.getServletPath() 结果:如果页面在jsp目录下 /TEST/jsp/test.jsp (4)得到页面所在服务器的全路径:application.getRealPath("…
总是忘记, 备份一下,方便下次用. 第一种: File directory = new File("");//参数为空 String courseFile = directory.getCanonicalPath() ;System.out.println(courseFile); 结果:C:\Documents and Settings\Administrator\workspace\projectName获取当前类的所在工程路径; 第二种: File f = new File(th…
举例:String fName =" G:\Java_Source\navigation_tigra_menu\demo1\img\lev1_arrow.gif " 方法一: 1 File tempFile =new File( fName.trim()); 2 String fileName = tempFile.getName(); 方法二: String fName = fName.trim(); String fileName = fName.subString(fName.l…
1.使用synchronized关键字 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法.在调用该方法前,需要获得内置锁,否则就处于阻塞状态. 注: synchronized关键字也可以修饰静态方法,此时如果调用该静态方法,将会锁住整个类. 注:同步是一种高开销的操作,因此应该尽量减少同步的内容.通常没有必要同步整个方法,使用synchronized代码块同步关键代码即可. 同步方法:给一个方法增加synchronized修饰符之后就可以使它成为同步方法,这个…
1,实现Runnable接口创建线程 特点: A:将代码和数据分开,形成清晰的模型 B:线程体run()方法所在的类可以从其它类中继承一些有用的属性和方法 C:有利于保持程序风格的一致性 2,继承Thread类创建线程(其实底层还是实现的是Runnable接口中的run()方法) 特点: A:Thread子类无法再继承其他类 B:编写简单,run()方法就是当前对对象的线程对象,可直接操作 3,通过线程池Executor 创建(在java1.5中提出的,提供了四种线程池) 特点: 这种了解的不是…
  转自: http://blog.csdn.net/wzb56/article/details/7864911 方法分为两类: 一类是基于map的Entry:map.entrySet(); 一类是基于map的key:map.keySet() 而每一类都有两种遍历方式: a.利用迭代器 iterator: b.利用for-each循环: 代码举例如下 package cn.wzb; import java.util.ArrayList; import java.util.HashMap; imp…
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transform…
Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.Java可以用三种方式来创建线程,如下所示: 1)继承Thread类创建线程 2)实现Runnable接口创建线程 3)使用Callable和Future创建线程 下面让我们分别来看看这三种创建线程的方法. ------------------------继承Thread类创建线程--------------------- 通过继承Thread类来创建并启动多线程的一般步骤如下 1]d定义Thread类的子类…
一.获得都是当前运行文件在服务器上的绝对路径在servlet里用:this.getServletContext().getRealPath(); 在struts用:this.getServlet().getServletContext().getRealPath(); 在Action里用:ServletActionContext.getRequest().getRealPath(); 以上三个获得都是当前运行文件在服务器上的绝对路径其实:request.getRealPath("url"…
方法分为两类: 一类是基于map的Entry:map.entrySet(); 一类是基于map的key:map.keySet() 而每一类都有两种遍历方式: a.利用迭代器 iterator: b.利用for-each循环: 代码举例如下: package cn.wzb; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import ja…
1.继承Thread类优点:可以直接使用Thread类中的方法,代码比较简单.缺点:继承Thread类之后不能继承其他类. 2.实现Runable接口优点:实现接口,比影响继承其他类或实现接口.缺点: 3.实现Callable接口优点:可以获取返回值,可以抛出异常.缺点:实现方法相对复杂 三种方法的实现例 public static void main(String[] args) throws InterruptedException, ExecutionException { //继承Thr…
1 DigestUtils.md5Hex(new FileInputStream(path)); 如果你只需要使用标准的MD5,其实一行代码就够了,JAVA自带的commons-codec包就提供了获取16进制MD5值的方法.其底层实现上,也是分多次将一个文件读入,类似方法三.所以性能上也不错. 总结:其实方法都是类似的,推荐使用这个方法,简洁且性能不错,当然,如果要做一些调整什么的,可以根据自己的需求进行方法的选择. PS:其实还有一个重点,就是如何知道自己生成的MD5值是否正确呢? 方法很多…
System.out.println("++++++++++++++++++++++++"); String path = System.getProperty("java.class.path"); String path2 = FreeMarkerWriter.class.getProtectionDomain().getCodeSource().getLocation().getPath(); String path3 = FreeMarkerWriter.c…