![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 69
余生为莹
好好学习天天向上
展开
-
数组和链表的插入排序
数组的插入排序如果是数组的插入排序,则数组的前面部分是有序序列,每次找到有序序列后面的第一个元素(待插入元素)的插入位置,将有序序列中的插入位置后面的元素都往后移动一位,然后将待插入元素置于插入位置。前文:排序算法_余生为莹的博客-CSDN博客/** * 插入排序:插入排序是一种简单直观的排序算法,插入排序在实现上, * 通常采用in-place排序(即只需用到O(1)的额外空间的排序), * 因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空原创 2022-04-06 16:40:53 · 345 阅读 · 0 评论 -
出版社--图书管理系统
1.需求已知如下两个表:create table publisher( id char(36) primary key, name varchar(24) unique, address varchar(120)) create table book( id char(36) primary key, isbn ...原创 2019-05-16 21:52:38 · 1154 阅读 · 0 评论 -
使用eclipse 如何搭建Spring工程
1、安装Spring Tool Suite(STS)插件通过在Eclipse IDE中安装Spring Tool Suite(STS)插件可以很方便地创建Spring、SpringMVC及Spring Boot工程,在Eclipse IDE中安装Spring Tool Suite(STS)插件,请参照《Spring插件安装说明.docx》2、下载Spring相关jar包a、loggi...原创 2019-07-08 17:56:14 · 690 阅读 · 0 评论 -
Spring----懒加载
懒加载Bean是由spring创建并管理的对象默认情况下,IOC容器初始化时便会把bean实例化,代码和结果如下:package com.zzu.vo;public class Student { String name; public Student() { super(); System.out.println("-----"); } pu...原创 2019-07-08 18:03:40 · 219 阅读 · 0 评论 -
Spring----scope域对象
bean作用域scope="singleton" 单例模型scope="singleton":默认值,IoC容器中只存在一个Java类对象,此时Java对象为单例,即每次从IoC容器获取的Java对象都是同一个;代码如下:import org.springframework.context.support.ClassPathXmlApplicationContext;i...原创 2019-07-08 18:09:57 · 241 阅读 · 0 评论 -
Spring中如何为构造方法中不同数据类型参数赋值
constructor-arg子标签constructor-arg子标签:指定创建类对象时使用哪个构造函数,每一对或每一个constructor-arg子标签配置一个参数列表中的参数值;如果不配置子标签,则默认使用无参构造函数实例化对象属性name属性:通过参数名找到参数列表中对应参数index属性:通过参数在参数列表中的索引找到参数列表中对应参数,index从0开始:typ...原创 2019-07-08 23:27:55 · 487 阅读 · 0 评论 -
详述Spring框架bean生命周期
详述Spring框架bean生命周期通过构造方法或工厂方法创建bean对象——>为bean属性赋值——>调用 bean 的初始化方法,即init-method指定方法——>bean实例化完毕,可以使用——>容器关闭, 调用 bean 的销毁方法,即destroy-method指定方法。init-methodinit-method:在设置bean的属性后执行的自...原创 2019-07-09 18:42:33 · 712 阅读 · 0 评论 -
浅析List、Set和Map集合扩容机制
List集合 ArrayList集合public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializableArrayList类继承AbstractList抽象类,并且直接...原创 2019-07-09 22:41:29 · 1658 阅读 · 0 评论 -
进程与线程概述
程序(Program)是为实现特定目标或解决特定问题而用计算机语言(比如Java语言)编写的命令序列的集合。程序是静态的。进程(process)指一个可并发执行的、具有独立功能的程序关于某个数据集合的一次执行过程。是程序执行时的动态过程。线程(thread)又称为轻量级进程,线程是一个程序中实现单一功能的一个指令序列,是一个程序的单个执行流,存在于进程中,是一个进程的一部分。线程代表...原创 2019-06-29 11:51:59 · 131 阅读 · 0 评论 -
IO流
目录IO流字节流字符流转换流缓冲流IO流I是指Input(输入),O是指Output(输出)。在Java中,文件的输入和输出是通过流(Stream)来实现的,流的概念源于Unix中管道(pipe)的概念。在Unix系统中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。一个流,必有源端和目的端,它们可以是计算机内存...原创 2019-06-30 17:36:06 · 185 阅读 · 0 评论 -
MySQL事务隔离级别----Read uncommitted(读未提交)
根据实际需求,通过设置数据库的事务隔离级别可以解决多个事务并发情况下出现的脏读、不可重复读和幻读问题,数据库事务隔离级别由低到高依次为Read uncommitted、Read committed、Repeatable read和Serializable等四种。数据库不同,其支持的事务隔离级别亦不相同:MySQL数据库支持上面四种事务隔离级别,默认为Repeatable read;Oracle 数...原创 2019-07-14 16:28:13 · 1305 阅读 · 0 评论 -
CGLib实现动态代理
目录CGLib动态代理JDK动态代理与CGLib动态代理区别:动态代理优点:CGLib动态代理程序执行时通过ASM(开源的Java字节码编辑库,操作字节码)jar包动态地为被代理类生成一个代理子类,通过该代理子类创建代理对象,由于存在继承关系,所以父类不能使用final修饰。过程1.首先导入jar包 ...原创 2019-07-02 22:16:57 · 130 阅读 · 0 评论 -
JDK动态代理
目录代理模式(Proxy Pattern)静态代理动态代理-----JDK动态代理输出JDK动态代理产生的class文件代理模式(Proxy Pattern)代理模式是一种软件设计模式,为某个实现类(也称目标类或委托类)对象提供一个代理类,代理类通过控制该对象的访问可以为该对象中的方法增加额外的功能。静态代理静态代理由一个接口、实现类(也称目标类或委托...原创 2019-07-02 22:14:06 · 87 阅读 · 0 评论 -
HashSet中的remove方法
public class Test { public static void main(String[] args) { HashSet<String> set = new HashSet<>(); set.add("1"); set.add("1"); set.add("2"); set.remove("1"); set.remove(...原创 2019-05-17 18:21:09 · 5466 阅读 · 0 评论 -
cookie技术---以及---和session内置对象的区别
Cookie 原来指就着牛奶一起吃的点心,因特网中指一种技术:指Web应用服务器为了辨别用户身份、进行 session 跟踪而储存在客户端上的数据,该数据通常经过了加密;cookie不是内置对象浏览器访问Web服务器某个资源时,Web服务器在HTTP响应消息头中附带传给浏览器的信息,该信息在客户端浏览器存储;当客户端浏览器再次请求该资源时,会在在HTTP请求消息中增加Cookie请求头字...原创 2019-06-20 16:48:53 · 272 阅读 · 0 评论 -
反射
反射是一种新的机制,操作一个未知类中属性、构造方法、普通方法的方式方法。为了实现对成员变量、构造方法和普通方法的操作,我们需要借助Java自身提供的java.lang包下的Class类和java.lang.reflect包下的反射API 。即class类在反射中处于入口的位置,如果你要使用反射,首先必须要获取一个类中所对应的class引用类型的对象。class类Class类是J...原创 2019-06-20 21:51:25 · 98 阅读 · 0 评论 -
线程常用的方法
目录interrupt方法currentThread方法isAlive方法setDaemon方法join方法其他方法interrupt方法interrupt方法:结束线程在调用Object类的wait方法或该类的join方法、sleep方法过程中的阻塞状态,并在调用wait、join和sleep方法处产生InterruptedException异常...原创 2019-07-02 09:10:34 · 229 阅读 · 0 评论 -
Mybatis----参数传递
有时Mapper接口需要将一个或多个参数传递到XML映射文件中,那么XML文件如何接收到来自Mapper接口的参数数据呢?一个参数1、Mapper接口方法只有一个参数时,则XML映射文件中获取该参数数据时硬性的要求,比如:接口抽象方法参数为Stringid,则XML映射文件中可通过 #{任意字符串} 获取到该参数的数据。import java.io.IOExcep...原创 2019-07-07 19:52:02 · 117 阅读 · 0 评论 -
File类
File类代表一个特定的文件或者目录,并提供了若干方法对该文件或目录进行操作。File类构造方法代码如下:File file = new File("C://unintall.txt");//文件file=new File("D://project");//目录file = new File("D://project//an.txt");file=new File(...原创 2019-06-26 21:41:46 · 153 阅读 · 0 评论 -
MyBatis框架中查询操作
MyBatis框架中通过在XML映射配置文件定义insert、delete、update和select标签进而定义相应SQL语句的方式实现增删改查操作。查询操作使用select标签:返回List集合,代码如下:import java.util.List;public class UserInfo { private Integer id; private String u...原创 2019-07-07 22:48:32 · 1053 阅读 · 0 评论 -
JVM----Java堆
目录概述Java虚拟机运行时数据区Java堆Java堆内存的划分工作原理概述对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出的问题。由虚拟机管理内存。Java虚拟机运行时数据区Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个...原创 2019-07-08 00:40:36 · 159 阅读 · 0 评论 -
初识Spring开源框架
目录Spring框架的背景Spring好处Spring框架对象的实例在Java已有类中使用创建自定义类Spring框架的背景Rod Johnson是Spring框架的缔造者,他在2002编著的《Expert one-on-One J2EE Design and Development》一书中,对JavaEE系统架构臃肿、低效、脱离...原创 2019-07-08 11:47:28 · 375 阅读 · 0 评论 -
线程共享和线程协作
目录线程数据共享通过对象锁机制来实现多线程的同步执行多线程同步原理synchronized关键字声明方法synchronized关键字声明同步代码块线程协作Object类中的wait()、notify()和notifyAll()三个方法sleep()方法和wait()方法区别线程数据共享数据共享:数据在多线程之间共享线程中并发指一个时间段...原创 2019-07-02 18:19:26 · 198 阅读 · 0 评论 -
概述MySQL数据库---事务隔离级别
同一个应用程序中的多个事务或不同应用程序中的多个事务在同一个数据集上并发执行时, 可能会出现许多意外的问题,事务并发处理可能引起的问题可分为如下三种类型:脏读(Drity Read): 已知有两个事务A和B, A读取了已经被B更新但还没有被提交的数据,之后,B回滚事务,A读取的数据就是脏数据。场景:公司发工资了,领导把5000元打到Tom的账号上,但是该事务并未提交,而Tom正好去查看账...原创 2019-06-12 16:41:18 · 344 阅读 · 0 评论 -
详述Spring中AOP的实现和执行过程
AOP(AspectOriented Programming 面向切面编程)是一种通过运行期动态代理实现代码复用的机制,是对传统OOP(Object Oriented Programming,面向对象编程)的补充。目前,Aspectj是Java社区里最完整最流行的AOP框架,在Spring 2.0以上版本中可以通过Aspectj注解或基于XML配置AOP。传统OOP(Object O...原创 2019-07-16 20:14:35 · 212 阅读 · 0 评论 -
MySQL事务隔离级别----Repeatable read(重复读)
根据实际需求,通过设置数据库的事务隔离级别可以解决多个事务并发情况下出现的脏读、不可重复读和幻读问题,数据库事务隔离级别由低到高依次为Read uncommitted、Read committed、Repeatable read和Serializable等四种。数据库不同,其支持的事务隔离级别亦不相同:MySQL数据库支持上面四种事务隔离级别,默认为Repeatable read;Oracle 数...原创 2019-07-14 20:10:58 · 7722 阅读 · 1 评论 -
详谈多态
多态性来自于希腊语,意思是“有许多形态”。在面向对象的软件技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却按自己的需求来实现这个行为。当对象接收到发送给它的消息时,根据该对象所属的类 动态选用在该类中定义的实现方法。 多态...原创 2019-07-25 12:35:15 · 626 阅读 · 0 评论 -
Lambda 表达式
Lambda 表达式Java支持Lambda 表达式始于Java 8,它的出现简化了 函数式接口匿名内部类的语法,其表达式语法如下:([参数1], [参数2], [参数3],.... [参数n])->{代码块}函数式接口匿名内部类---->Lambda 表达式的转换如果方法没有返回值且只有一行代码,则Lambda表达式语法可以是这种形式:([参数1], [...原创 2019-07-21 11:30:54 · 97 阅读 · 0 评论 -
JavaScript----箭头函数
javascript中箭头函数类似于Java中的lambda表达式,这种函数的出现大大简化了函数的定义传统函数:<script type="text/javascript"> function add(a,b){ return a+b; } var result = add(1,1); console.log(result);</script>...原创 2019-07-21 11:43:34 · 184 阅读 · 0 评论 -
EL和JSTL-----获取数组、集合中数据
EL表达式EL(ExpressionLanguage表达式语言)定义了一系列隐含对象和操作符,无须Java代码即可方便地访问pageContext、request、session、application作用域中的对象。获取数组中数据:获取list集合中数据:Set集合:无法获取单个元素,但可以使用<c:forEach></c:forEach&g...原创 2019-07-21 15:38:34 · 3093 阅读 · 0 评论 -
JVM性能调优监控工具
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,接下来逐一对各种工具作一介绍:jps虚拟机进程状况工具(Java Virtual Machine Process Status Tool)可以列出正在运行的 虚拟机的 进程,并显示虚拟机的主类名称,以及这些进程的本地虚拟...原创 2019-07-21 22:09:52 · 123 阅读 · 0 评论 -
用eclipse搭建spring MVC----使用异步的方式实现三级级联
目录异步搭建项目结构如下:首先配置web.xml配置application.xml写jsp页面控制层service层DAO层优化----使用handler处理器控制层用jstl获取遍历map集合异步Ajax(Asynchronous JavaScript and XML,异步JavaScript与xml)是一个结合了Java技术...原创 2019-07-23 08:10:58 · 222 阅读 · 0 评论 -
String和String Buffer 和String Build的区别
String类String是个不可变长度的字符串String类没有提供可以用来修改字符串的方法,所以在Java文档中,String类对象称为不可变字符串,如同3永远是3一样,字符串‘Hello’永远包含H、e、l、l、o代码单元序列,而不能修改其中任何一个字符。可以修改字符串变量,让他引用另外一个字符串变量,就如同可以将存放的3字符串变量改成4一样。不可变字符串的优点:编译器...原创 2019-08-18 21:43:38 · 462 阅读 · 0 评论 -
String字符串常用的一些方法
从概念上来说,String字符串就是Unicode字符序列。(例如,串“Java\u2122”)由五个Unicode字符J、a、v、a和TM。Java中没有内置的字符串类型,而是在标准的Java类库中提供了一个预定义类,很自然的叫做String。String类实例化方式String类是引用类型,该类实例化方式有两种:1、直接赋值这种方式会出现常量池数据共享的情况。上述...原创 2019-08-16 17:27:59 · 773 阅读 · 0 评论 -
Xml的读取方式
XML 1 每个XML文档都由XML序言开始,在前面的代码中的第一行便是XML序言,<?xml version="1.0"?> 2 任何的起始标签都必须有一个结束标签。 3 标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签。 4 标签如果有属性,属性值必须加双引号。XML文档读取 “XML中的内容都是结点”,这句话...原创 2019-08-22 12:04:28 · 5905 阅读 · 0 评论 -
JavaScript----闭包
闭包(closure)在javascript中,闭包指定义在一个函数内的函数,该函数可以使用其所在函数中定义的变量,如下例子:function add(x) { console.log(x); return function(y) { return x + y; };//该匿名函数既是闭包}var result = add(4)(2);console.lo...原创 2019-07-19 15:00:55 · 128 阅读 · 0 评论 -
TCP和UDP的区别
TCP与UDP区别TCP面向连接,发送数据前要先建立连接;UDP是无连接的,发送数据前不需要建立连接; TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,不保证可靠交付; UDP有较好的实时性,效率比TCP高,适用于对高速传输和实时性较高的通信或广播通信; 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信;使用...原创 2019-07-17 11:39:31 · 169 阅读 · 0 评论 -
JavaScript----变量提升和函数提升
变量提升(Hosting)已知如下代码:<script type="text/javascript"> var name='Tom'; (function(){ console.log(name);//输出undefined,为什么? var name='Tim'; })();</script>JavaScript中,变量的声明将...原创 2019-07-19 14:42:46 · 94 阅读 · 0 评论 -
MySQL事务隔离级别----SERIALIZABLE(序列化)
根据实际需求,通过设置数据库的事务隔离级别可以解决多个事务并发情况下出现的脏读、不可重复读和幻读问题,数据库事务隔离级别由低到高依次为Read uncommitted、Read committed、Repeatable read和Serializable等四种。数据库不同,其支持的事务隔离级别亦不相同:MySQL数据库支持上面四种事务隔离级别,默认为Repeatable read;Oracle 数...原创 2019-07-14 20:25:14 · 6427 阅读 · 2 评论 -
使用MyBatis的方式
目录 什么是MyBatis? 为什么使用MyBatis ?如何使用MyBatis?第一种方式第二种方式(推荐使用)第三种方式 什么是MyBatis? MyBatis源自Apache的iBatis开源项目, 从iBatis3.x开始正式更名为MyBatis(2010年这个项目由apache software foundation 迁移到了goo...原创 2019-07-05 16:06:21 · 128 阅读 · 0 评论