
java
文章平均质量分 83
千霜
未来的码农
展开
-
spring注解
spring可以使用xml和注解的方式注入beans。而注解有很多,下面会介绍一些有用的注解@ComponentScan如果全都使用注解,不参杂一点xml,可以建立一个配置类ApplicationConfig,然后使用@ComponentScan来配置扫描目录中含有注解的,然后将它注入到容器中。但建议使用xml的方式比较好:<?xml version="1.0" enc...原创 2018-07-29 18:24:48 · 141 阅读 · 0 评论 -
java注解
目录一、介绍二、注解声明三、注解使用四、预定义的注解类型4.1、被编译器使用的注解@Deprecated@Override@SuppressWarnings4.2、用于其他注解的注解@Retention@Documented@Target@Inherited@Repeatable五、其他参考:一、介绍注解(annotat...原创 2018-09-16 11:58:48 · 363 阅读 · 0 评论 -
jvm学习小结一
一、java技术体系1、java技术体系组成:java语言、jvm、class字节码、java api、各种第三方框架。2、jdk(java Development Kit):java语言、jvm、java api。jdk是用于支持java程序开发的最小环境。3、jre(java Runtime Environment):java se api、jvm。jre是支持java程序运行的标...原创 2018-09-07 21:50:58 · 168 阅读 · 0 评论 -
接口
1、接口隐式abstract,方法隐式public abstract,字段隐式为public、static、final。2、jdk 8中给接口添加了新特性,我们可以添加默认方法和,静态方法了。默认方法和静态方法都已经提供了实现,因此对接口改动不会造成实现了该接口的类的改动,同时又扩展了接口功能。// An example to show that interfaces can // ...原创 2018-09-13 11:02:38 · 135 阅读 · 0 评论 -
java正规表达式之贪婪、非贪婪、占有量词
在甲骨文官网上介绍了量词及贪婪、非贪婪、占有量词之间的区别:https://docs.oracle.com/javase/tutorial/essential/regex/quant.html使用到的测试程序文章中在测试时使用了自定义的程序来测试正规表达式,在此,我将它改写成可以运行与eclipse上:public class App { public static void m...原创 2018-09-13 22:12:31 · 1059 阅读 · 0 评论 -
java io
目录一 介绍二 类继承结构三 缓存流四 字符流的编码五 其他流5.1 Scanner5.2 PrintStream5.3 流与命令行5.4 DataOutputStream5.5 ObjectOutputStream六 文件IO七 其他参考一 介绍一个io流表示一个输入源或输出目的,这些源和目的包括磁盘、设备、其他程序和内存。流的模型是一...原创 2018-09-24 22:33:59 · 165 阅读 · 3 评论 -
类加载器
类加载器负责在运行时动态地加载类。类也不是一次全部加载到内存的,而是需要时才加载到内存中。系统提供了下面3中类加载器,同时也可以自定义类加载器。一、启动类加载器(Bootstrap Class Loader)负责加载<JAVA_HOME>/jre/lib中的类,也可以通过-Xbootclasspath参数所指定的路径加载类,也就是加载java api。该加载器在java中没有对...原创 2018-09-11 10:18:29 · 365 阅读 · 0 评论 -
类加载过程
每个编写的”.java”拓展名类文件都存储着需要执行的程序逻辑,这些”.java”文件经过Java编译器编译成拓展名为”.class”的文件,”.class”文件中保存着Java代码经转换后的虚拟机指令,当需要使用某个类时,虚拟机将会加载它的”.class”文件,并创建对应的class对象,将class文件加载到虚拟机的内存,这个过程称为类加载,这里我们需要了解一下类加载的过程,如下: ...原创 2018-09-11 11:07:45 · 162 阅读 · 0 评论 -
正规表达式--java
目录一、介绍二、测试程序三、字面值(String Literals)3.1、元字符四、字符类(Character Classes)五、预定义字符类六、量词(Quantifiers)七、捕获组(Capturing Groups)7.1、编号7.2、反向引用 八、边界匹配(Boundary Matchers)九、Pattern9.1、创建Pat...原创 2018-09-14 16:52:59 · 2061 阅读 · 0 评论 -
java 泛型
目录一、声明泛型类型1.1、泛型类(接口)1.2、泛型方法1.3、raw type(生的类型)1.4、有界限的类型参数1.4.1、多界限二、类型推断2.1、泛型构造函数的推断2.2、目标类型三、类型擦除3.1、替换类型参数3.2、在适当的出口和入口添加类型转换语句3.3、产生桥接方法保护泛型继承中的多态四、通配符4.1、无界限通配符4...原创 2018-09-26 20:50:45 · 1646 阅读 · 0 评论 -
嵌套类
目录一、介绍二、嵌套类2.1、静态内部类2.2、内部类2.3、Shadowing(隐藏)2.4、序列化三、局部类四、匿名类五、Lambda表达式六、方法引用参考一、介绍嵌套类分为两种:静态嵌套类和内部类。内部类中又有两种特殊的内部类:局部类和匿名类。如果局部类只使用一次,则使用匿名类更简洁。如果实现的接口只有一个方法,则lambda表达式更简洁。...原创 2018-10-03 20:29:41 · 1477 阅读 · 0 评论 -
java 集合
目录一、概述二、接口及实现类2.1、List2.2、Set2.3、Map2.4、Queue2.5、Deque2.6、栈三、其他3.1、hashCode()和equals()3.2、排序3.3、Collections和Arrays四、流参考一、概述java中定义了很多接口,表示不同的数据结构,也提供了不同的接口实现。接口分为两类:col...原创 2018-10-06 01:16:23 · 146 阅读 · 0 评论 -
java 枚举
枚举是一堆预定义常量的集合,自定义的枚举类型默认继承自java.lang.Enum,因此定义枚举时不能再继承其他类了。最简单的枚举定义如下:public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }每个枚举值相当于Day的静态常量,类似如下定义://以下是...原创 2018-10-06 22:47:46 · 481 阅读 · 0 评论 -
Java Date Time
目录一 介绍1.1 时间表示1.2 offset和zone id1.3 类与字段参考一 介绍1.1 时间表示有两种表示时间的方式:human time:以人类可读的方式表示时间,如含有一些如下字段:year、month、day、hour、minute、second、offset和zone id。前面三个字段用Date表示,接下来三个用Time表示,最后两个和时区有关。machine t...原创 2018-12-29 17:13:17 · 2008 阅读 · 0 评论 -
JDBC
JDBC驱动java只定义了JDBC的接口,实现由数据库提供供应商提供。JDBC驱动可分为四类:驱动将JDBC API接口映射到其他数据访问API上,如JDBC-ODBC桥。驱动主要由java语言实现,部分数据相关的功能由本地代码实现。驱动作为纯java客户端,与中间层服务器交互,服务器使用数据库独立的协议,处理驱动的数据访问请求。驱动使用纯java编写,实现网络协议,直接连接到数据...原创 2019-01-23 17:36:27 · 387 阅读 · 0 评论 -
WSL配置java开发环境--失败
目录一 安装1.1 WSL1.2 Java1.3 Tomcat1.4 Maven1.5 Intellij Idea1.6 x server1.7 sublime1.8 添加输入法1.9 界面模糊二 配置idea一 安装1.1 WSL首先安装WSL,参考windows上的linux子系统(WSL)。更换源。打开清华大学开源软件镜像站,找到对应自己版本的源,拷贝内容。将原有源备份,创建新源...原创 2019-03-19 22:13:56 · 8358 阅读 · 2 评论 -
maven之允许src目录下xml文件输出到target目录
maven项目中有一个目录标准,其中src下的xml文件构建时不会被输出到target/classes目录下。下面来解决它,只需在pom.xml中配置:<build> <resources> <resource> <directory>src/main/java</directory> ...原创 2019-04-07 13:16:32 · 2369 阅读 · 0 评论 -
Java以post请求发送文件或json数据
分别给出了post发送文件和json数据的函数,其中使用到了Jackson库来转化Json数据,使用log4j2来打印日记,可自行剔除。public class HttpUtils { static private ObjectMapper objectMapper=new ObjectMapper(); static private Logger logger= LogMana...原创 2019-05-17 21:50:11 · 6950 阅读 · 0 评论 -
动态代理
所谓动态代理,就是提供一个接口给Proxy类,Proxy类会在运行时自己实现该接口,然后返回该接口的实例,之后对该接口方法的调用都会传给一个处理类处理。它实际上动态实现了该接口,但在方法的实现中,会将该方法传递给了处理器(handler)的处理函数(invoke)。和动态代理相关的类Proxy提供了静态方法创建动态代理类(dynamic proxy class)和实例(instance...原创 2018-09-06 15:47:10 · 124 阅读 · 0 评论 -
反射
目录介绍获得Class对象反射构造函数反射方法反射字段反射泛型反射注解反射参数参考介绍反射能够使你在运行时检查类、接口、字段、泛型、注解、方法和方法参数的信息,不用在编译时知道类、方法的名字。也能通过反射实例化类,调用方法和设置、访问字段值。在jdk8中,甚至可以获得参数名。类的信息由Class类提供,然后可以通过Class对象获得类的所有信息,包括...原创 2018-09-06 13:34:56 · 204 阅读 · 0 评论 -
我的第一个spring程序
接下来是我的第一个spring程序,使用了注解的方式来装载和注入bean。1目录结构Role代表数据,OpRole代表操作数据的服务,App为测试类,ApplicationConfig.xml为spring的配置文件2、pom.xml首先添加对spring核心包的依赖。<project xmlns="http://maven.apache.org/POM/4.0.0...原创 2018-07-29 19:36:03 · 647 阅读 · 0 评论 -
谈谈字符集与字符编码
转载1、起源 - ASCII我们都知道在计算机内部,所有的数据在存储和运算的时候都应该使用二进制进行表示。例如字母,数字等等。通过二进制进行表示,我们可以指定很多规则来表示这些字符,为了避免不一致性,美国国家标准学会(American National Standard Institute , ANSI )制定了 ASCII(American Standard Code for Infor...转载 2018-07-21 12:58:42 · 425 阅读 · 0 评论 -
mybatis spring 整合
这是我对mybatis和spring整合的第一次尝试。1、数据库的建立需要有对数据库的建立,才能对数据库中的信息进行查询。建表的sql语句可以参考我的一篇博客。我的第一个mybatis程序2、项目结构pojo中的类是用来存入查到的学生信息。dao中包含对数据访问的对象(data access object),该包下还含有对应的sql映射配置。service包下是一些...原创 2018-07-31 07:56:14 · 222 阅读 · 0 评论 -
我的第一个springMVC程序
1、功能介绍入门程序,功能十分简单。输入一些数据,传到后端,后端打印数据,在此将该页面返回回来,供重新输入。多次提交后,打印结果:2、项目结构项目结构很简单,就是一个简单的控制器MyController,一个页面index.jsp和一些配置文件。applicationContext是对容器的配置,由于本程序简单,并没有用到太多东西,所以是空的。dispatcher-se...原创 2018-07-31 17:47:37 · 1916 阅读 · 0 评论 -
我的第一个mybatis程序
1、首先建立maven项目新建项目后可能会出现jre版本不一致的问题,需要修改他的属性,如下图所示:2、修改pom.xml,添加依赖库需要添加mybatis和jdbc的jar包,pom.xml文件如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/...原创 2018-07-28 09:23:18 · 232 阅读 · 0 评论 -
java类中变量初始化
一般的初始化public class BedAndBreakfast { // initialize to 10 public static int capacity = 10; // initialize to false private boolean full = false;}当变量值有效且可以写成一行时,便可以在变量初始化的时候同时赋上处值...原创 2018-08-10 15:03:14 · 3131 阅读 · 0 评论 -
java this和super
1、引用变量this代表该类的对象,可以引用该类的实例变量、静态变量和方法。super可以引用父类的实例变量、静态变量和方法。this和super可以在类中任何地方使用调用变量方法,除了含静态块的区域不用使用this和super。1.1 this// Program to illustrate this keyword // is used to refer current...原创 2018-08-10 15:42:37 · 164 阅读 · 0 评论 -
Java子类与父类方法的隐藏和覆盖
coding:class Base{ int x = 1; static int y = 2; String name(){ return "mother"; } static String staticname(){ return "static mother"; }}class Subclass e...转载 2018-08-10 15:59:49 · 6177 阅读 · 2 评论 -
ssm整合
之前学了ssm后,分别尝试了mybatis,mybatis-spring和spring-spring MVC的小项目。虽然初次尝试会遇到小问题,但都很好解决。但是ssm三个一起整合,问题就很多了,也莫名其妙,甚至该web应用调试的时候,竟然调到了其他项目中!!先说个Junit单元测试时遇到的问题,在用Junit测试业务层(Service包下的类)时,如果spring 和spring MVC的配...原创 2018-08-06 21:38:50 · 278 阅读 · 0 评论 -
java访问控制权限
摘录至:https://www.cnblogs.com/jinggod/p/8425423.html访问权限控制: 指的是本类及本类内部的成员(成员变量、成员方法、内部类)对其他类的可见性,即这些内容是否允许其他类访问。Java 中一共有四种访问权限控制,其权限控制的大小情况是这样的:public > protected > default(包访问权限) > privat...转载 2018-08-11 16:41:45 · 325 阅读 · 0 评论 -
object.getClass()和Object.class的区别
转载至:https://blog.youkuaiyun.com/xiaokang123456kao/article/details/72859765 作者:想作会飞的鱼两者的区别如下: 类名.class叫做“类字面量”,因class是关键字, 所以类名.class编译时确定。而getclass()是某个具体的方法来调用,是运行时根据实际实例确定,getClass()是动态而且是final的。 例如: ...转载 2018-08-20 11:56:39 · 234 阅读 · 0 评论 -
equals和hashCode方法
equals和hashCode方法是java.lang.Object的两个函数。equals函数原型:public boolean equals(Object obj)指示obj对象是否“等于”该对象。所谓“等于”并不是指必须是相同对象,也可以是不同对象,只要对象内的状态一致就行。但是在Object类中,他的实现是,只要是同一对象就“等于”,关于这一点,之后讨论。该方法的实现...原创 2018-08-27 17:08:39 · 244 阅读 · 0 评论 -
java中数组是对象吗?
数组是对象哦。数组的父类也是Object,每个数组都实现了接口Cloneable and java.io.Serializable。但是数组的类型却不是程序员可见的。但是由于数组也是Object的子类,我们可以打印出数据的类型名。// Java program to display class of // int array typepublic class Test{ pub...原创 2018-08-27 19:40:51 · 11875 阅读 · 1 评论 -
java 异常
目录1、异常层次结构2、三种异常3、try-catch-finally4、try-with-resources5、使用6、异常链参考异常很有用,能够将错误处理代码从“常规”代码中分离出来。1、异常层次结构所有异常都是java.lang.Exceptions的子类,而Exception又是Throwable的子类,Throwable还有一个子类为Errors。...原创 2018-08-21 17:30:08 · 235 阅读 · 0 评论 -
java类型信息
java类型信息是运行时也可以获得,不像c++在编译时确定。运行时类型信息可以让你在程序运行时发现和使用类型信息。java有两种方法让你获得运行时信息:“传统的”RTTI(runtime type information),它假定在编译时就已经知道了全部信息;反射,让你能够在运行时发现信息。仅仅知道这些还不好区分RTTI和反射的区别,下面来看一段java编程思想上的一句原话:So the...原创 2018-09-04 13:26:05 · 707 阅读 · 0 评论 -
jvm学习小结二----垃圾收集器与内存分配策略
1、堆和方法区需要回收内存运行时区域有,程序计数器、虚拟机栈、本地方法栈、方法区、堆。其中程序计数器、虚拟机栈、本地方法栈随线程而生,随线程而灭,且栈帧的大小再编译时就已经确定了,因此这几个区域的分配和回收不需要过多考虑。而堆和方法区不一样,比如一个接口中多个实现类需要的内存不一样,一个方法的不同分支需要的内存可能不一样,因此这些内存的分配和回收都是动态的。2、判断对象存活的算法有引用计数...原创 2018-09-08 18:33:53 · 220 阅读 · 0 评论 -
import static
普通导入:比如使用Math时,通过普通导入,可以去掉包名。如下面代码,不需要将完整类名写全:java.lang.Mathimport java.lang.Math;public class App { public static void main(String[] arg) { System.out.println(Math.cos(Math.PI)); }}静态导...原创 2018-09-03 12:44:29 · 490 阅读 · 0 评论 -
java之小说爬虫
借助java的html解析框架Jsoup,可以方便爬取网页,该框架用法见Java html解析器之Jsoup。该爬虫只有一个文件WebBookCrawler.javapackage top.sidian123;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;i...原创 2019-05-29 16:45:19 · 2915 阅读 · 0 评论