JAVA
WARGON
这个作者很懒,什么都没留下…
展开
-
CMD中执行java命令
javac :用来编译.java文件。java:用来运行class文件例:Test.javapackage pers.wargon;public class Test{ public static void main(String[] args){ System.out.println("123"); }}如果Test.java文件在D:/work/j...原创 2018-06-11 21:33:14 · 2837 阅读 · 0 评论 -
DataInputStream的readUTF()方法和DataOutput Stream的writeUTF()方法
一般将readUTF和writeUTF配合起来使用。单独使用readUTF的话,会出一些错误。也就是writeUTF输出以后,readUTF拿着读就好了。readUTF读一次的内容就是writeUTF写一次的内容。wirteUTF可以连续写多次,readUTF也可以连续读多次。使用readUTF直接读文件的话,老是报一个EOFException,就是文件结束的异常,目前还不会处理。...原创 2018-09-13 17:32:53 · 2123 阅读 · 0 评论 -
JAVA类加载
每个java程序都启动一个JVM进程,它们之间是相互独立的。类加载:也可以称为初始化。当程序使用到某个类时,如果内存中不存在,则会进行类的加载:执行:加载->链接->初始化三个步骤,来完成类的加载(初始化)工作。具体为:将类的Class文件读入内存,并为之创建Class对象。Class对象:它描述了一个类。系统中每个类在使用时,内存中都有Class对象与之对应。类加载器:完...原创 2018-09-10 23:25:02 · 131 阅读 · 0 评论 -
transient关键字
我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(...原创 2018-09-17 15:13:05 · 627 阅读 · 0 评论 -
ServletResponse的getOutputStream和getWriter
一直不明白,为什么reponse得到的OutputStream和PrintWriter对象可以向浏览器(理解为一个文件)输出内容,而不是其他的文件。可以先理解为:ServletResponse(或者是HttpServletResponse)这个接口,当我们在Servlet中使用到时,Servlet引擎为我们创建了对象。引擎应该做了一些工作,使输出文件指向了浏览器。下面看一些专业的介绍。1...转载 2018-09-15 23:50:49 · 2455 阅读 · 0 评论 -
JavaBean中,第二个字母大写的问题
具体会发生什么,不细说。要记住,第二个字母大写会出现一些意想不到的坑。。。原创 2018-08-25 23:05:12 · 2308 阅读 · 0 评论 -
HashMap和HashSet
HashMap底层采用一个Entry数组来保存key-value键值对。当存入数据时,根据key的hashcode()方法返回的hash值,决定存储位置。如果多个key的hash值相同,并且这些key不相同,那么在Entry数组的同一个位置,会产生一个Entry链。链最先访问到的值,是最后插入的值。如果key值相同,则不会产生链,而是进行了覆盖。HashSet其实是HashMap,它对Hash...原创 2018-08-31 17:19:18 · 587 阅读 · 0 评论 -
Mybatis的Mapper文件sql语句中使用常量值或者枚举常量值
可以使用:枚举:'${@全路径名@枚举值.get属性()}',则会解析出枚举值的属性常量值,放入sql语句中。这里单引号''是因为${}占位符只是把值给填充进去,要表示字符串的话,加上单引号。常量:'${@全年路径名@常量值}',会解析出常量值,放入sql语句中。其实,方法、属性等也可以解析出来,就如同:类.静态属性、类.静态方法()。还有枚举转换器handler的处理方式,先不谈...原创 2018-08-19 18:15:32 · 3993 阅读 · 0 评论 -
JDK动态代理基础知识
可以简单的认为,动态代理就是实现在不修改源程序的基础上,对原有的类方法进行增强。其有一点要求是:要实现动态代理的类,必须实现至少一个接口。否则需要CGLIB动态代理机制。JDK的动态代理机制也是Spring AOP的底层实现方式的一种。我们来了解一下其机制:实现:实际使用方式可能多种多样,我们就按自己的来。如,下面有一个接口:UserDaopackage com.imooc....原创 2018-07-26 18:35:59 · 231 阅读 · 0 评论 -
使用EL表达式获取项目路径
比如,项目名为JavaWeb。获取"/JavaWeb"的正确方式为:${pageContext.request.contextPath}使用${requestScope.contextPath}的方式是错误的。requestScope 只是代表Request范围。使用${requestScope["属性"]}或者${request.属性}的方式,只是获取request范围内的属性值。...原创 2018-07-20 11:55:00 · 8345 阅读 · 0 评论 -
mvn报:不再支持源选项 1.5。请使用 1.6 或更高版本。
解决办法:方法1.在pom.xml了添加下面代码<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source>...原创 2018-07-25 08:39:22 · 753 阅读 · 0 评论 -
JUnit基础
Junit是一个单元测试的工具。可以用来检验程序中的方法是否符合预期。使用JUnit,需要先导入相关的Jar包:hamcrest-core-1.3.jar(用来执行断言)、junit-4.12.jar。Junit的使用很简单。比如编写有如下的Java文件:Calculator.javapackage com.junit.test;public class Calculator {...原创 2018-07-19 10:47:22 · 554 阅读 · 0 评论 -
Java反射机制
反射主要会在框架中使用。反射的实现:1:获取Class对象。 有三个方式获取Class对象,分别是:类名.class、对象.getClass()、以及Class.forName("全限定类名"); 常用forName方式。2:获得构造方法对象Constructor。3:通过构造方法对象的newInstance()方法,获得对象实例。4:按照需要,获得成员变量...原创 2018-07-18 19:09:37 · 87 阅读 · 0 评论 -
Lambda表达式
Lambda表达式是Java 8的重要更新。它支持将代码块作为方法的参数。Lamnda表达式允许使用更简洁的代码来创建只有一个抽象方法的接口(即函数式接口)的实例。...原创 2018-06-14 19:10:41 · 1425 阅读 · 0 评论 -
hashCode:哈希值
当用到Java中的集合时,会涉及到HashSet和HashMap,这里拿HashSet举例来说明关于hash的问题。 当我们向HashSet集合中存入一个元素时,HashSet会调用该对象的的hashCode()方法来得到对象的hashCode值,然后根据hashCode值来决定对象的存放位置。如果两个对象使用equals方法比较结果为true,而hashCode值不相同,HashSet依然...原创 2018-06-13 11:24:07 · 3123 阅读 · 0 评论 -
@RequestParam、@RequestBody和@ModelAttribute区别
转自:https://www.cnblogs.com/zeroingToOne/p/8992746.html一、@RequestParamGET和POST请求传的参数会自动转换赋值到@RequestParam 所注解的变量上1. @RequestParam(org.springframework.web.bind.annotation.RequestParam)用于将指定的请求参数赋值给方...转载 2018-10-12 13:46:05 · 2099 阅读 · 0 评论