![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
老马识途2.0
始于颜值,陷于才华,终于人品,合于性格...
展开
-
回调函数的理解
把A理解成客户端,把B理解成服务器。A要访问B,让B做事。但是B做的慢,于是B就先返回给A一个正在处理的状态,等处理完了再通知A处理结果,那么这个A通知B的手段就是回调了。通常为了加强适配性(因为服务器只有一个,而客户端有多个),客户端都会实现接口C,再把C注入到服务器,那么服务器对外提供带有参数C的方法即可。还有一种形式的回调,就是让服务方提供方法,在里面可以写自己的实现内容,再回调执行。如线程,我们先new Thread,并在里面写run方法,最后再调用start方法启动。这里的start方法里面原创 2021-04-20 17:19:50 · 214 阅读 · 0 评论 -
递归出现栈溢出stackoverflow
递归是个不断回调方法的过程,使方法一遍遍的压入栈中,递归次数多了,栈满了也就溢出了。默认的栈大小是1m。我也没有很好的解决办法,就加大栈内存吧!我这里就说下eclipse中测试类怎么改栈内存大小。右键测试类–》properties–》这样就行了...原创 2020-05-20 15:38:53 · 2425 阅读 · 0 评论 -
关于java打包成jar在linux上运行的一些问题
java导出成可运行的jar文件,如下图:如果上图中红框内前两个选项导出的jar包在linux上运行报错,说找不到需要的依赖包,那么就用第三个,使用这个会导出一个jar包,一个文件夹,文件夹中是jar包的所有依赖。然后将这两个文件同时上传到linux ,但要保证二者在同一目录下。最后,关于在jar包中根据文件名动态加载某一个目录下的某个文件内容,好像是行不通的。因为在使用Object.cl...原创 2020-04-26 15:23:55 · 753 阅读 · 0 评论 -
java定时器
package test;import java.util.Date;import java.util.Timer;import java.util.TimerTask;/** * java 定时器 * @author Administrator * */public class TimerTest { public static void main(String[] a...原创 2020-04-26 15:03:11 · 183 阅读 · 0 评论 -
java 多线程死锁案例
package test;/** * 内容:创建两个静态对象和两个线程,第一个线程给第一个对象加锁,第二个线程给第二个对象加锁,当第一个线程要获取第二个对象的锁时 * 发现第二个对象的钥匙正在被第二个线程持有,所以第一个线程要的等待第二个线程释放该锁,而第二个线程要释放该锁就有执行该synchronize块, * 所以要去拿第一个对象的锁,而第一个对象的锁,正在被第一个线程占有,于是两个...原创 2020-04-26 14:17:22 · 333 阅读 · 0 评论 -
java迭代创建文件,并写入内容
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.util.ArrayList;import java.util.List;/...原创 2020-04-26 13:42:59 · 349 阅读 · 0 评论 -
java多层map嵌套案例
public Map>>> getItemDefMap() { TmCisDataItemDef tmCisDataItemDef = new TmCisDataItemDef(); List list = tmCisDataItemDefDao.queryForList(tmCisDataItemDef); Map>>> productMap = new HashMap原创 2017-03-29 09:50:15 · 20137 阅读 · 0 评论 -
jquery 中append追加不能写if等逻辑语句及table列合并问题
$("#table2").append( ""+ ""+""+p+""+""+ "" );colspan=2 即是合并两个列的为一列,数字不用加引号,append追加中不能有if 判断,for循环等语句。原创 2017-04-12 12:18:09 · 4735 阅读 · 1 评论 -
java打印当前日期
package text1;import java.text.SimpleDateFormat;import java.util.Date;public class dateDemo { public static void main(String[] args) { Date now=new Date(); SimpleDateFormat sdf=new SimpleD原创 2017-05-24 10:10:05 · 2227 阅读 · 0 评论 -
简单的三数排序,由小到大
package text1;public class array22 { public static void main(String[] args) { int a=8; int b=6; int c=1; if(a>b){ int temp =a; a=b; b=temp; } if(a>c){ int temp =a; a=c;原创 2017-05-22 17:16:01 · 622 阅读 · 0 评论 -
java冒泡排序
package text1;public class maopao { public static void main(String[] args) { int[] array = {10,5,8,4,3}; for(int i=1;i<array.length;i++){ for(int j=0 ;j<array.length-i;j++){ if(array[j]原创 2017-05-22 17:46:26 · 358 阅读 · 0 评论 -
java求最大公约数
package text1;public class zuixiaogongbeishu { public static void main(String[] args) { int a=10; int b=20; System.out.println("最大公约数是:"+f(a, b)); } private static int f(int a, int b) {原创 2017-05-22 18:10:38 · 524 阅读 · 0 评论 -
java子类父类的加载顺序
首先加载静态变量和方法:父类静态变量父类初始化快子类静态变量子类初始化块再加载非静态变量和方法父类变量父类初始化块父类构造器子类变量子类初始化块子类构造器最后其他原创 2017-05-22 18:47:00 · 917 阅读 · 0 评论 -
对servlet\jsp九大内置对象的介绍及部分对象的区别
经网友指错,servlet没有内置对象,而是jsp的JSP九大内置对象:1.request获取页面传来的参数信息2.response.request获取页面传来的参数后,后台做出相应,返回给客户端数据3.session每个客户打开一个浏览器,就会创建一个会话,并直到页面关闭是一个完整的会话.其作用是当用户在一个服务器反复调用几个链接的时候,能让服务器知道这是同一个客户....原创 2017-06-03 17:24:47 · 5894 阅读 · 5 评论 -
servlet与jsp的区别
1,jsp是servlet的扩展,其本质是servlet,,因为jvm只能识别java类,不能识别jsp,因此web容器要将jsp文件编译成jvm能够识别的java类,即servlet2.jsp是由html代码和jsp标签组成的,用于页面展示,相比下可以更方便的编写网页.servlet更擅长于流程控制和事务处理3,jsp是html中嵌入java代码,servlet是java代码中加入htm原创 2017-06-03 20:26:27 · 288 阅读 · 0 评论 -
java写入文件
public class App { public static void main( String[] args ) throws IOException { FileWriter fw=new FileWriter("e:/bc.txt"); BufferedWriter bw=new BufferedWriter(fw); for(int i=原创 2017-07-01 17:07:01 · 1783 阅读 · 0 评论 -
关于部署war包到服务器存在代理的问题
将java工程打成war部署到linux服务器后,在服务器上存在代理的情况下,我们java工程如果存在接口对外有发送http请求时,我们的java代码可能也要相应的有设置对应于服务器上的代理的代码.具体如下1,linux服务器,一般进入到/home/用户名/2,使用"vi ."再加按两次Tab键,然后ls可以看到有个.bash_profile文件.或直接使用"vi ~./"再按两次Tab键原创 2017-06-22 11:19:10 · 652 阅读 · 0 评论 -
再eclipse查看某个java类属于哪个jar包
在eclipse界面直接按ctrl+shift+t,弹出以下界面,属于类名即可原创 2017-06-22 12:05:00 · 19700 阅读 · 2 评论 -
运行时异常与非运行时异常的区别
java运行时异常是可能在java虚拟机正常工作时抛出的异常。java提供了两种异常机制。一种是运行时异常(RuntimeExepction),一种是检查式异常(checked execption)(非运行时异常)。检查式异常:我们经常遇到的IO异常及sql异常就属于检查式异常。对于这种异常,java编译器要求我们必须对出现的这些异常进行catch 所以 面对这种异常不管我们是否愿意,只能转载 2017-07-14 13:58:47 · 2439 阅读 · 0 评论 -
java程序一定会加载的包是哪个?
前几天有个面试,问java程序一定会加载的包是哪个,一定会加载说明这个包不用手动加载,也就是java默认会加载的包,这个包就是java.lang.*原创 2017-07-14 14:05:40 · 1121 阅读 · 0 评论 -
面向过程,面向对象,面向接口,面向切面的区别
点击打开链接上面的连接结合实例很好的解释了四者的区别,简单理解:面向过程:把所有的变量,方法写在一个主方法里面,强调使用正常的对事物的处理方式,比如人做饭的过程有买菜,洗菜,切菜,炒菜的过程,,在面向过程中则逐一顺次写出来.面向对象:把数据以及对数据的操作放在一起,作为一个相互依存的整体,就是我们所说的对象。与面向过程不同的是,它把中心放在人身上,把买菜洗菜切菜,炒菜的行为,封装到转载 2017-07-08 16:35:17 · 4392 阅读 · 0 评论 -
java中newInstance()方法的作用
点击打开链接newInstance()也是用来创建新的对象,其与new()的区别是:newInstance():弱类型,效率低,只能调用无参构造new():强类型,高效率,能调用任何public构造器转载 2017-07-08 22:48:02 · 39698 阅读 · 2 评论 -
java工厂类理解
工厂模式:就是在子类和接口之间加了一个过渡,这个过渡就是工厂类,在工厂类的方法中输入入参,入参就是你想要实例化的类名,这样即可获得相应类实例化.这样如果以后还要扩充实现此接口的子类,直接修改工厂类就可标记得到相应的类实例,增加了程序的灵活性.动物接口public interface Animal { public void say();}实现动物接口的dog类public c原创 2017-07-09 10:04:01 · 1436 阅读 · 0 评论 -
java静态变量,静态方法的理解
静态变量/方法与非静态的区别:1,外部调用静态方法/变量可以使用类名.方法名/变量名的方式调用,也可以使用对象名.方法名/变量名,但是实例方法只能通过后者,因为调用静态方法变量无需实例化.2,静态方法只能访问静态变量,实例方法可以访问实例和静态成员,因为静态方法执行不一定存在对象.3,静态变量使用的公共内存空间,所有对象可以直接引用,其值是上次对其设的值,一直存在内存中,知道程序结束4转载 2017-07-09 12:48:58 · 743 阅读 · 0 评论 -
springMVC通过getBean()获取context.xml文件中定义的service接口类
以我做的一个项目为例;\第一步将springMVC框架搭建好后,在web工程下建一个test测试包,再建一个junit测试类public class PreQueryProductControllerTest { private ApplicationContext applicationContext; @Before public void setUp() throws Ex原创 2017-07-18 12:29:58 · 6106 阅读 · 0 评论 -
stringbuffer判断是否为空
StringBuffer sb=new StringBuffer();if(sb!=null && sb.length()>0){System.out.println("证明sb不为空!");}原创 2017-07-21 19:51:44 · 16880 阅读 · 0 评论 -
经典递归求斐波那契数列
public class Test3 {//4 public static void main(String[] args){ double n=30; f(n); System.out.println(f(n)); } public static double f(double n) { if(n==1){ return 1; } if(n==2){原创 2017-07-19 15:46:30 · 434 阅读 · 0 评论 -
int与Integer,long与Long的区别以及装箱与拆箱的理解
1,从数据类型看:int和long是基本数据类型,对其赋值属于数值引用,只能对其进行数值运算Integer和Long是对象类型,既然是对象那就有属性,有方法,这都是基本数据类型不包含的.2,在实际使用中,对二者要注意的便是,int和long的默认值是0,使用时不用对其做null判断,也就不会出现NoPointerException这种异常,反之,Integer和Long的默认值是null,原创 2017-07-27 15:02:07 · 4242 阅读 · 0 评论 -
get请求与post提交区别的简易理解
1.GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。 GET和POST还有一个重大区别,简单的说:GET产生一个TCP数据包;POST产生两个TCP数据包。对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据); 而对于POST,浏览器先发送header,服务器响...原创 2017-06-03 16:29:59 · 422 阅读 · 0 评论 -
以树状结构输出计算机某个指定文件夹下的所有的文件和子文件夹名称
import java.io.File; /** * 以树状结构输出计算机某个指定文件夹下的所有的文件和子文件夹名称 * * @author FengYuan * */ public class Test { public static void main(String[] args) { Test t = new Test();转载 2017-08-25 13:58:46 · 1493 阅读 · 0 评论 -
import javax.servlet.http.HttpSession;异常
缺少servlet-api.jar包,网上下载导入即可!下载地址:http://download.csdn.net/download/csdnliuxin123524/9988196原创 2017-09-21 10:05:59 · 2453 阅读 · 0 评论 -
file,fileInputStream, fileReader,inputStreamReader等java文件流类的关系区别
1. File类 1)File类介绍File类封装了对用户机器的文件系统进行操作的功能。例如,可以用File类获得文件上次修改的时间移动,或者对文件进行删除、重命名。换句话说,流类关注的是文件内容,而File类关注的是文件在磁盘上的存储。 File类的主要方法有:getName(),getCanonicalFile(),lastModified(),isDerector(),isFil转载 2017-09-30 12:04:39 · 1782 阅读 · 0 评论 -
java按字节、字符、行、随机读取文件,并设置字符编码格式
首先介绍可能用到的java类:inputStream:是字节输入流的所有类的超类,是一个抽象类;返回0-225内的字节值,如果没有字节可以读取则返回-1;FileInputStream:读取文件中的字节,转成字节流FileReader:读取文件中的字符,转成字符流原创 2017-09-29 17:07:47 · 2162 阅读 · 0 评论 -
java向文件中写入内容,字节流,字符流,缓冲,复制文件,设置字符编码 实例
package com.liuxin.test;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOut原创 2017-09-30 15:44:32 · 2531 阅读 · 0 评论 -
java try catch 吃掉异常与跑出异常的区别,以及在项目中是否改抛出异常的理解
package com.liuxin.file;public class ExceptionTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub TryCatch tryCatch =new TryCatch(); /*原创 2017-11-06 21:21:41 · 7183 阅读 · 0 评论 -
java 自定义异常
package com.liuxin.file;public class MyException extends Exception{ /** * 自定义异常类,需要继承Exception */ private static final long serialVersionUID = 1L; public MyException(){ super(); } public原创 2017-11-06 21:30:04 · 378 阅读 · 0 评论 -
org.json.JSONObject对象转json,json新增元素,根据json的key获取值。以及list对象格式字符串转jsonArray
首先设置好多类,并set值,制作一个比较复杂的含有map ,list ,等层级嵌套的对象package testMap.test;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;impo原创 2017-11-01 22:11:16 · 4540 阅读 · 0 评论 -
java以及IT中容器的概念
在java中,容器分两种:解释一:容器(Container)Spring 提供容器功能,容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象原创 2017-10-25 21:21:44 · 1603 阅读 · 0 评论 -
一个异常:Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to
今天在创建了一个工程,编译并部署到tomcat后,发现出现了java.lang.UnsupportedClassVersionError: Bad version number in .class file 异常,检查了一下我的MyEclipse6.0配置,发现在MyEclipse里面给Tomcat 配置的JDK是其默认的MyEclipse6.0 ,将其修改为JDK6.0 试了一下,结果OK,转载 2017-10-26 12:57:19 · 326 阅读 · 0 评论 -
java中读取配置文件的方法fileSystemXmlapplicationContext与classPathXmlApplicationContext
一、使用org.apache.commons.configuration需要使用的是jar包:commons-collections-3.2.1.jar、commons-configuration-1.10.jar、commons-lang-2.6.jar和commons-logging-1.2.jar。可以读取的配置文件:xml和properties1、读取xml文件import o转载 2017-11-03 21:43:43 · 3374 阅读 · 2 评论