java
wang_da_bing
这个作者很懒,什么都没留下…
展开
-
确定Java程序中哪个线程最耗CPU资源的方法
Window操作系统执行如下程序public class Test { public static void main(String[] args) { new Thread(new Task()).start(); } static class Task implements Runnable { @Override public void run() { ...原创 2019-07-21 18:14:19 · 699 阅读 · 0 评论 -
Java入门之JDBC--sql注入(mysql数据库)
sql注入注入的解释:通过将恶意SQL语句插入到特定SQL语句内,使特定SQL语句发生变化,最终达到欺骗数据库服务器使之执行恶意的SQL命令的一种方法。例如如下代码:try { Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) { e.printStackTrace();}Conn...原创 2019-03-16 11:02:00 · 744 阅读 · 0 评论 -
Java入门之JDBC--批处理(mysql)
Mysql中的事件(批处理)create table account( id char(36) primary key, card_id varchar(20) unique, name varchar(8) not null, money float(10,2) default 0)set autocommit(false);//取消自动提交insert into acc...原创 2019-03-16 10:51:47 · 581 阅读 · 0 评论 -
Java入门之JDBC一基础操作(mysql数据库)
1.JDBC的基础知识定义:JDBC全称为Java Database Connectivity,是一种借助Java语言实现数据库连接的技术。JDBC的步骤:方法一:加载驱动程序获取数据库连接创建statement实例package rejdbc;import java.sql.Connection;import java.sql.DriverManager;impo...原创 2019-03-16 10:30:02 · 171 阅读 · 0 评论 -
java入门之IO流——流
1. IO流释义:I是指Input(输入),O是指Output(输出)。来源:在Java中,文件的输入和输出是通过流(Stream)来实现的,流的概念源于Unix中管道(pipe)的概念。在Unix系统中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。特点:一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Intern...原创 2019-03-03 15:31:14 · 172 阅读 · 0 评论 -
Java入门之IO流——File类
1. File类的构造方法构造方法如下表://代码1:import java.io.File;public class Test { public static void main(String[] args) { File file = new File("C:\\Windows\\System32"); String path = file.getAbsolutePath(...原创 2019-02-28 20:26:51 · 184 阅读 · 0 评论 -
Java入门之反射
1. 反射的基础知识定义:Java反射(Reflection)是一种新的操作类中成员变量、构造方法和普通方法的机制,为了实现对成员变量、构造方法和普通方法的操作,我们需要借助Java自身提供的java.lang包下的Class类和java.lang.reflect包下的反射API。class类:Class类是Java 反射机制的入口,封装了一个类或接口的运行时信息,通过调用Class类的方法...原创 2019-02-28 19:47:15 · 144 阅读 · 0 评论 -
Java入门之自动拆装箱
基本定义作用:自动拆箱和装箱是从JDK5.0才开始有的,它方便了基本数据类型和其对应的包装类型之间的转换。定义:将一个基本数据类型的值赋给其所对应的包装类型称之为自动装箱;将一个基本数据类型包装类类型的值赋给其所对应的基本数据类型称之为自动拆箱。public class Test { public static void main(String[] args) { Integer...原创 2019-02-19 14:48:23 · 147 阅读 · 0 评论 -
Java集合之工具类(重写compare()方法)
Collections类常用方法max(Collection <? extends T> coll):根据元素的自然顺序,返回给定集合元素中的最大元素min(Cssollection <? extends T> coll):根据元素的自然顺序,返回给定集合元素中的最小元素sort(List list) :根据元素的自然顺序对指定列表按升序进行排序。列表中的所有元素...原创 2019-02-19 14:10:02 · 4964 阅读 · 0 评论 -
Java集合之Map集合
概述Map集合基于 键(key)/值(value)映射。每个键最多只能映射一个值。键可以是任何引用数据类型的值,不可重复;值可以是任何引用数据类型的值,可以重复;键值对存放无序。Map常用实现类:HashMap:允许使用 null 值和 null 键;此类不保证映射的顺序;在多线程操作下不安全LinkedHashMap:基于哈希表和链接列表的实现类;具有可预知的迭代顺序(双重链接表的...原创 2019-02-17 21:03:43 · 150 阅读 · 0 评论 -
Java入门之JDBC--properties文件(mysql数据库)
properties配置文件为了后期便于配置管理软件,常将诸如数据库连接配置(url、用户名和密码)、上传文件保存路径等配置信息写在properties文件中。用法:在src根目录创建properties类型文件。例如://jdbc文档内容如下:jdbc.username=rootjdbc.password=rootjdbc.driverClass=com.mysql.jdbc.Dr...原创 2019-03-16 11:18:59 · 568 阅读 · 0 评论 -
Java入门之线程--基本概念和运用
线程与进程的基本概念进程:进程(process)指一个程序的一次执行过程。线程:线程(thread)又称为轻量级进程,线程是一个程序中实现单一功能的一个指令序列,是一个程序的单个执行流,存在于进程中,是一个进程的一部分。线程与进程的异同:一个进程可以包含多个线程,而一个线程必须在一个进程之内运行;同一进程中的多个线程之间采用抢占式独立运行。线程有独立的执行堆栈、程序计数器和局部变量;...原创 2019-03-19 09:21:38 · 116 阅读 · 0 评论 -
详解AOP的实现(五种增强方式)及执行流程
文章目录AOP的简单介绍建立AOP实例工程工程结构如下图所示代码注解释义application.xml配置文件释义AOP 的执行流程AOP的简单介绍AOP(Aspect Oriented Programming 面向切面编程)是一种通过运行期动态代理实现代码复用的机制,是对传统OOP(Object Oriented Programming,面向对象编程 )的补充。目前,Aspectj是Java...原创 2019-07-16 17:01:55 · 3237 阅读 · 0 评论 -
JVM中堆的简介
一:基本概念Java 中的堆是 JVM 管理的最大的一块内存空间,主要用于存放Java类的实例对象,其被划分为两个不同的区域:新生代 ( Young )和老年代 ( Old ),其中新生代 ( Young )又被划分为:Eden、From Survivor和To Survivor三个区域,如下图所示:jdk7及以前版本jdk8及以后版本二:堆的各个区域堆大小 = 新生代( Young...原创 2019-07-15 18:25:09 · 676 阅读 · 1 评论 -
SpringMVC之事务详解
一. Spring实现事务管理的两种方式:1. 编程式事务管理:将事务管理代码嵌入到业务方法中来控制事务的提交和回滚,在编程式管理事务中,必须在每个事务操作中包含额外的事务管理代码。2. 声明式事务管理(推荐):大多数情况下比编程式事务管理更好用,它将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理,Spring声明式事务管理建立在AOP基础之上,是一个典型的横切关注点,通过环...原创 2019-07-15 18:22:46 · 7378 阅读 · 0 评论 -
通过源码及代理动态类的源码来分析Java动态代理(jdk和cglib动态代理)
文章目录一:Java动态代理的定义二:建立示例工程如下三:通过源码分析执行过程四:工程的执行结果如下:一:Java动态代理的定义释义:简单的说Java的动态代理即为:代理对象 = 增强代码 + 目标对象(原对象)(类似实现了Python中装饰器的作用)代理的意义:通过代理实现一系列相似操作,解决代码的臃肿问题(类似于现实生活中的中间商,为每一个买家收集好数据)动态的释义:即该类是在代码执...原创 2019-07-15 13:58:11 · 256 阅读 · 0 评论 -
小白也能读懂的Spring框架(四)-调用构造方法
文章目录一:建立项目1 . 建立如图所示的项目结构2.新建文件夹lib并拷贝jar包,然后选中所拷jar包->右键->Build Path->点击Add to二:各种构造方法的调用1. 无参构造方法的调用2.含有基本数据类型和String类型的构造方法的调用3.含有引用类型的构造方法的调用4.含有list列表或Set集合的构造方法的调用1. 含有基本数据类性(String类型一样...原创 2019-05-12 10:39:59 · 243 阅读 · 0 评论 -
Servlet生命周期详解
1. Servert和Servlet容器1、用户/客户端只能向服务器请求静态网页。如果用户想要根据自己的输入来读取网页,这种方式就不能满足用户的要求。2、Servlet是服务器端的Java应用程序,可以产生动态Web页面。3. Servlet容器就是用来装Servlet的。 其基本思想是在服务器端使用Java来动态生成网页。因此,Servlet容器是Web服务器和servlet进行交互的必...原创 2019-05-04 23:09:52 · 1358 阅读 · 0 评论 -
小白也能学会的SpringMVC(三)SpringMVC框架的搭建
三:搭建SpringMVC的框架1. 建立Java web 项目,版本号选择2.5.2. 删除src ,右键选择Source Folder,创建名为src/test/java、src/test/resource、src/main/java、src/main/resourse的文件夹。3. 考入如图所示的jar包4. 在web.xml中创建Spring容器并添加对象,代码如下:<?...原创 2019-05-04 22:26:18 · 333 阅读 · 0 评论 -
小白也能读懂的SpringMVC(二)创建第一程序
二:用Spring创建的第一个程序a、创建一个普通Java的工程;b、向工程中添加如下jar包;①、创建lib文件夹,将如下jar包拷贝到该文件夹中②、由于是Java工程,所以为了使这些jar包起作用需要先选择这些jar包——>鼠标右键点击Build Path——>Add to Build Path;如果是Java Web工程只需将这些jar包拷贝到WEB-INF中lib文件...原创 2019-05-04 20:35:17 · 121 阅读 · 0 评论 -
小白也能读懂的SpringMVC(一)Spring Tool Suite的安装
一:Spring Tool Suite的安装(ecplise为您的IDE)首先查看您的ecplise版本号(Spring插件是和ecplise版本号相对应的),在help->about ecplise中可以查看您的ecplise的版本号。访问Spring官网,下载与您ecplise相对应的Spring Tool Suite工具。注:下载的压缩包不需要解压插件的正式安装步骤如...原创 2019-05-04 20:26:19 · 226 阅读 · 0 评论 -
Java入门集合之Set集合(重写equals()和hashcode()方法)
概述Set接口继承CollectionSet接口常用实现类HashSet实现了 Set 接口“它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变”(存入该实现类对象中的元素是无序的,即在遍历该集合元素时,遍历出的元素顺序未必和向集合中添加元素的顺序一致;这次遍历出来的顺序未必和上一次遍历出来的元素顺序一致)允许使用 null 元素LinkedHashSetHashSe...原创 2019-02-17 20:31:21 · 9455 阅读 · 0 评论 -
Java入门之集合List接口(重写equals方法)
一、概述List接口继承Collection接口;该接口属于数据接口中的线性结构,用户可以根据元素的整数索引来访问元素;二、list接口实现类ArrayList(数组线性表)List 接口的实现类。其内部基于一个大小可变数组来存储允许存储 null 元素LinkedList(双向链表)List 接口的链接列表实现类允许存储 null 元素Vector(向量)...原创 2019-02-17 19:24:55 · 1837 阅读 · 0 评论 -
Java入门之集合框架
定义:集合又称为容器,用于存储、提取、删除数据。JDK提供的集合API都包含java.util 包内。分类:集合框架两大分支:Collection接口和Map接口Collection集合图解其中ArrayIist和Vector实现了List接口,HashSet和LinkedHashSet实现了Set接口。Map集合图解HashMap和LinkedHashMap实现了Map...原创 2019-02-15 09:36:12 · 139 阅读 · 0 评论 -
java入门之对象和类
一、类类:Java语言把一组对象中相同属性和方法抽象到一个Java源文件就形成了类。 定义一个类的步骤:1、定义类名; 2、定义类的属性; 3、定义类的方法。public class Student {//定义属性 String name; String id; String studentId;//访问控制符(public,private)控制方法在其他...原创 2018-08-23 11:12:32 · 102 阅读 · 0 评论 -
java查找之二分法查找(或找新元素的位置)
二分法查找:搜索数据与有序数组(比如升序)中间元素比较以确定在中间元素左边还是右边,如果在右边,则调整最小搜索索引值,然后进入下次循环;如果在左边,则调整最大搜索索引值,然后进入下次循环;如果相等则当前位置就是查找数据所在位置,停止循环。import java.util.Arrays;//二分法排序(先对已有数据排序),可以查找元素位置或获取元素应该在该数列插入的位置 i...原创 2018-08-23 09:19:18 · 674 阅读 · 0 评论 -
java入门之多态
多态1、多态:父类类型(比如Mammal)的变量(比如mammal1)指向子类创建的对象,使用该变量调用父类中一个被子类重写的方法(比如move方法),则父类中的方法呈现出不同的行为特征,这就是多态。 2、原理:Java引用变量有两种类型,分别是编译时类型和运行时类型:编译时类型由声明该变量时使用的类型决定;运行时类型由实际赋给该变量的对象。如果编译时类型和运行时类型不一致,就可能出现所谓多...原创 2018-08-26 20:39:19 · 123 阅读 · 0 评论 -
java入门之重写
重写1、重写:子类可以继承父类方法,但有时从父类继承的方法在子类中必须进行修改以适应新类的需要,这种对父类方法进行改写或改造的现象称为方法重写或方法覆盖。父类方法在子类中重写使继承更加灵活。 2、调用: 1.子类重写了父类的方法,则使用子类创建的对象调用该方法时,调用的是重写后的方法,即子类中的方法。 2.如果要在子类非static修饰的代码块或方法中调用父类被重写的方法可以通过supe...原创 2018-08-26 20:12:50 · 114 阅读 · 0 评论 -
java入门之继承
继承1、继承:继承是面向对象编程的三大特征之一,是一种基于已有类来创建新类的机制。由继承而得到的类称为子类(或派生类),被继承的类称为父类(或超类)。(注:Object类是所有类的直接父类或间接父类。) 2、构成:Java中每个类只允许有一个父类。语法如下:class <子类> extends <父类> 3、作用:根据访问权限修饰符的不同,子类可以继承父类中某些成员...原创 2018-08-26 15:37:53 · 145 阅读 · 0 评论 -
java入门之代码块和全局变量/局部变量
一、代码块1、代码块:Java中代码块分为静态代码块和非静态代码块。 2、特点:静态代码块只在类加载时执行一次;静态代码块每次创建对象时都会执行。 { System.out.println(age); } static { System.out.println(name); }3、static修饰符:可修饰变量,代...原创 2018-08-26 14:59:36 · 1958 阅读 · 0 评论 -
java排序之冒泡排序和插入排序
冒泡排序法:int [] a = {21,99,3,1024,16};for(int j = 0;j<a.length-1;j++) {//冒泡排序,外循环最多n—1次,内循环n-i-1次 for(int i=0;i<a.length-j-1;i++) { if(a[i]>a[i+1]) { tem...原创 2018-08-19 10:09:35 · 150 阅读 · 0 评论 -
java入门(三)数组
一:基本概念 数组:数组是相同数据类型的数据按顺序组成的一种引用数据类型。 数组是一种引用类型数据,其空间是在内存中的堆中,通过地址传递,在栈中对其操作。 二:声明及实例化 实例化:声明数组仅仅给出了元素的数据类型和数组名字,要使用数组就必须为它分配内存空间,即实例化数组。当实例化一个数组时就申请了一段连续的内存空间存储数组中的元素。//声明一维数组和二维数组double [] sc...原创 2018-08-19 09:58:15 · 132 阅读 · 0 评论 -
java入门(二)分支语句
public class Try{ static{ System.out.println("天亮还珠"); //return 不能用于static 静态代码段,return后不能直接跟代码,case后可以用{}包括相关语句。} public static void print (){ System.out.println(...原创 2018-08-16 09:39:26 · 141 阅读 · 0 评论 -
java入门之方法和重载
一、方法1、方法:方法用于定义类的某种行为(或功能),其语法结构如下: 访问控制符 [修饰符] 返回值类型 方法名( [参数] ) { 方法体}public void sayHello(){ System.out.println("Hello");}protected final void show(int x){ System.ou...原创 2018-08-23 23:21:29 · 119 阅读 · 0 评论 -
java入门之String字符串
String字符串1、String类型变量:String是引用数据类型。(注:java中没有字符串变量,但是有String类,且该类型是不可变字符串) 附加:string中的参数传递public class StringTest { public static void main(String[] args) { String name = "Tim"; ...原创 2018-09-02 22:10:42 · 150 阅读 · 0 评论 -
Java入门之log4j的使用
注本博客在编写时,参考了不动声色的蜗牛的博客,现一并将其链接贴在下面博客地址log4j的简介Log4j是Apache的一个开源项目,通过使用Log4j,可以控制日志信息格式及其输送目的地(控制台、文件、数据库等),方便后期查找系统运行期间出现的问题,进而便于维护系统。配置log4j第一步:导入log4j-1.2.15.jar依赖包;工程示例图如下:第二步:在src根目录下创建名为l...原创 2018-10-27 10:14:04 · 399 阅读 · 0 评论 -
Java入门之代码调试(ecplise工具)
ecplise中调试快捷键Eclipse开发工具中F5、F6、F7和F8 四个快捷键能辅助我们很好地进行代码的调试,各快捷键的作用如下:F5:跳入方法;F6:向下逐行调试;F7:跳出方法;F8:直接跳转到下一个断点;Eclipse开发工具中F5、F6、F7和F8 四个快捷键对代码的调试实质是人为地控制代码的运行过程。注:某些电脑的快捷键需要按着fn键,才可以启动这些快捷键...原创 2018-10-27 09:01:56 · 397 阅读 · 0 评论 -
Java入门之异常的处理
1.异常的定义1.定义:Java语言将程序运行过程中所发生的不正常严重错误称为异常,对异常的处理称为异常处理。2.特点:它会中断正在运行的程序,正因为如此异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点。2.异常的分类分类:异常分为error(错误类,该类通常不需程序员解决)和Exception(异常,这是程序员编程的错误,需要程序员自己解决)。Exception的分类:分...原创 2018-10-27 08:57:01 · 163 阅读 · 0 评论 -
Java入门之Lambda表达式
1.基本知识语法:Java支持Lambda 表达式始于Java 8,它的出现简化了***函数式接口匿名内部类***的语法,其表达式语法如下:([参数1], [参数2], [参数3],… [参数n])->{代码块}interface IUtil{ abstract void iterae(String [] dates);}interface IAdd{ static void...原创 2018-10-13 10:18:07 · 166 阅读 · 0 评论 -
Java入门之内部类
1.有名内部类1)内部类定义:内部类是指在一个外部类内定义的类。2)有名内部类:即该内部类有类名。3)作用范围:全局有名内部类的使用方式类似于全局变量;局部有名内部类的使用方式类似局部变量——它们都有固定的使用范围。public class Body { public class Heart{//内部类的定义,类似于外部变量。 public void beat() { Syst...原创 2019-05-05 12:59:50 · 220 阅读 · 4 评论