自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

My_liuying0901

软件开发过程中遇到的问题以及解决方法

  • 博客(115)
  • 收藏
  • 关注

原创 浅析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 1662

原创 数组和链表的插入排序

数组的插入排序如果是数组的插入排序,则数组的前面部分是有序序列,每次找到有序序列后面的第一个元素(待插入元素)的插入位置,将有序序列中的插入位置后面的元素都往后移动一位,然后将待插入元素置于插入位置。前文:排序算法_余生为莹的博客-CSDN博客/** * 插入排序:插入排序是一种简单直观的排序算法,插入排序在实现上, * 通常采用in-place排序(即只需用到O(1)的额外空间的排序), * 因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空

2022-04-06 16:40:53 352

原创 时间复杂度和空间复杂度

时间复杂度常数时间的操作:一个操作如果和数据量没有关系,每次都是固定时间内完成操作,叫做常数操作。如:数组寻址操作(在计算机里内存跳一下)、加减乘除操作、位运算操作。时间复杂度为一个算法流程中,常熟操作数量的指标。常用0(读作big 0)来表示。具体来说,在常数操作数量的表达式中,只要高阶项,不要低阶项,也不要高阶项的系数,剩下的部分如果记为f(N),那么时间复杂度为O(f(N))。评价一个算法流程的好坏,先看时间复杂度的指标,然后再分 析不同数据样本下的实际运行时间,也就是常数项时间。..

2020-09-06 22:10:41 209

原创 oracle多条数据合并成同一条

1、wmsys.wm_concat(字段名)select wmsys.wm_concat(customer_name) from A where application_no='BF-A170418000'注意:A——字段名 必须是 字符类型,如果不是,需要用to_char转换例如:select wmsys.wm_concat(to_char((customer_name))) from A where application_no='BF-A170418000'...

2020-07-17 15:07:43 5795

原创 Xml的读取方式

XML 1 每个XML文档都由XML序言开始,在前面的代码中的第一行便是XML序言,<?xml version="1.0"?> 2 任何的起始标签都必须有一个结束标签。 3 标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签。 4 标签如果有属性,属性值必须加双引号。XML文档读取 “XML中的内容都是结点”,这句话...

2019-08-22 12:04:28 5908

原创 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 465

原创 String字符串常用的一些方法

从概念上来说,String字符串就是Unicode字符序列。(例如,串“Java\u2122”)由五个Unicode字符J、a、v、a和TM。Java中没有内置的字符串类型,而是在标准的Java类库中提供了一个预定义类,很自然的叫做String。String类实例化方式String类是引用类型,该类实例化方式有两种:1、直接赋值这种方式会出现常量池数据共享的情况。上述...

2019-08-16 17:27:59 775

原创 详谈多态

多态性来自于希腊语,意思是“有许多形态”。在面向对象的软件技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却按自己的需求来实现这个行为。当对象接收到发送给它的消息时,根据该对象所属的类 动态选用在该类中定义的实现方法。 多态...

2019-07-25 12:35:15 631

原创 MyBatis与Spring、springMVC整合----SSM

首先创建一个web工程导入相应的jar包创建数据库表并添加数据第一步:搭建mybatis环境配置mybatis的全局配置文件<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http...

2019-07-23 23:05:07 130

原创 在Springmvc框架的工程中使用SQL语句实现分页查询

实现分页的效果:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/htm...

2019-07-23 22:21:52 1257

原创 用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 226

原创 JVM性能调优监控工具

JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,接下来逐一对各种工具作一介绍:jps虚拟机进程状况工具(Java Virtual Machine Process Status Tool)可以列出正在运行的 虚拟机的 进程,并显示虚拟机的主类名称,以及这些进程的本地虚拟...

2019-07-21 22:09:52 127

原创 EL和JSTL-----获取数组、集合中数据

EL表达式EL(ExpressionLanguage表达式语言)定义了一系列隐含对象和操作符,无须Java代码即可方便地访问pageContext、request、session、application作用域中的对象。获取数组中数据:获取list集合中数据:Set集合:无法获取单个元素,但可以使用<c:forEach></c:forEach&g...

2019-07-21 15:38:34 3113

原创 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 185

原创 Lambda 表达式

Lambda 表达式Java支持Lambda 表达式始于Java 8,它的出现简化了 函数式接口匿名内部类的语法,其表达式语法如下:([参数1], [参数2], [参数3],.... [参数n])->{代码块}函数式接口匿名内部类---->Lambda 表达式的转换如果方法没有返回值且只有一行代码,则Lambda表达式语法可以是这种形式:([参数1], [...

2019-07-21 11:30:54 100

原创 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 131

原创 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 101

原创 JavaScript----匿名函数

概念:没有函数名的函数称为匿名函数。<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <script> (function(a,b){...

2019-07-19 09:04:18 105

原创 JavaScript中const、let和var

const关键字const声明的变量必须 直接初始化且不允许二次赋值,如下代码:<script type="text/javascript"> const name="Tom"; console.log(name); name="Tim";//报错:TypeError: invalid assignment to const `name' console.log(n...

2019-07-18 22:55:50 153

原创 TCP和UDP的区别

TCP与UDP区别TCP面向连接,发送数据前要先建立连接;UDP是无连接的,发送数据前不需要建立连接; TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,不保证可靠交付; UDP有较好的实时性,效率比TCP高,适用于对高速传输和实时性较高的通信或广播通信; 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信;使用...

2019-07-17 11:39:31 172

原创 Spring 自定义增强方法

自定义增强方法,增强方法也称为通知方法,指标注有@Before、@AfterRunning、@AfterThrowing、@After或@Around注解的Java方法。@Before前置增强(又称前置通知):在目标方法执行之前执行@After后置增强(又称后置通知):在目标方法执行后执行,无论目标方法运行期间是否出现异常。注意:后置增强无法获取目标方法执行结果,可以在返回增强...

2019-07-16 21:39:33 487

原创 详述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 213

原创 Spring框架--- 实现事务管理

事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性;Spring 实现事务管理有如下两种方式:编程式事务管理:将事务管理代码嵌入到业务方法中来控制事务的提交和回滚,在编程式管理事务中,必须在每个事务操作中包含额外的事务管理代码。声明式事务管理(推荐):大多数情况下比编程式事务管理更好用,它将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理...

2019-07-16 09:31:58 203

原创 MySQL事务隔离级别----SERIALIZABLE(序列化)

根据实际需求,通过设置数据库的事务隔离级别可以解决多个事务并发情况下出现的脏读、不可重复读和幻读问题,数据库事务隔离级别由低到高依次为Read uncommitted、Read committed、Repeatable read和Serializable等四种。数据库不同,其支持的事务隔离级别亦不相同:MySQL数据库支持上面四种事务隔离级别,默认为Repeatable read;Oracle 数...

2019-07-14 20:25:14 6496 2

原创 MySQL事务隔离级别----Repeatable read(重复读)

根据实际需求,通过设置数据库的事务隔离级别可以解决多个事务并发情况下出现的脏读、不可重复读和幻读问题,数据库事务隔离级别由低到高依次为Read uncommitted、Read committed、Repeatable read和Serializable等四种。数据库不同,其支持的事务隔离级别亦不相同:MySQL数据库支持上面四种事务隔离级别,默认为Repeatable read;Oracle 数...

2019-07-14 20:10:58 7861 1

原创 MySQL事务隔离级别----Read committed(读已提交)

根据实际需求,通过设置数据库的事务隔离级别可以解决多个事务并发情况下出现的脏读、不可重复读和幻读问题,数据库事务隔离级别由低到高依次为Read uncommitted、Read committed、Repeatable read和Serializable等四种。数据库不同,其支持的事务隔离级别亦不相同:MySQL数据库支持上面四种事务隔离级别,默认为Repeatable read;Oracle 数...

2019-07-14 19:19:20 12205 1

原创 MySQL事务隔离级别----Read uncommitted(读未提交)

根据实际需求,通过设置数据库的事务隔离级别可以解决多个事务并发情况下出现的脏读、不可重复读和幻读问题,数据库事务隔离级别由低到高依次为Read uncommitted、Read committed、Repeatable read和Serializable等四种。数据库不同,其支持的事务隔离级别亦不相同:MySQL数据库支持上面四种事务隔离级别,默认为Repeatable read;Oracle 数...

2019-07-14 16:28:13 1313

原创 详述Spring框架bean生命周期

详述Spring框架bean生命周期通过构造方法或工厂方法创建bean对象——>为bean属性赋值——>调用 bean 的初始化方法,即init-method指定方法——>bean实例化完毕,可以使用——>容器关闭, 调用 bean 的销毁方法,即destroy-method指定方法。init-methodinit-method:在设置bean的属性后执行的自...

2019-07-09 18:42:33 715

原创 Spring中如何为构造方法中不同数据类型参数赋值

constructor-arg子标签constructor-arg子标签:指定创建类对象时使用哪个构造函数,每一对或每一个constructor-arg子标签配置一个参数列表中的参数值;如果不配置子标签,则默认使用无参构造函数实例化对象属性name属性:通过参数名找到参数列表中对应参数index属性:通过参数在参数列表中的索引找到参数列表中对应参数,index从0开始:typ...

2019-07-08 23:27:55 488

原创 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 243

原创 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 221

原创 使用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 692

原创 初识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 380

原创 JVM----Java堆

目录概述Java虚拟机运行时数据区Java堆Java堆内存的划分工作原理概述对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出的问题。由虚拟机管理内存。Java虚拟机运行时数据区Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个...

2019-07-08 00:40:36 161

原创 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 1059

原创 Mybatis----参数传递

有时Mapper接口需要将一个或多个参数传递到XML映射文件中,那么XML文件如何接收到来自Mapper接口的参数数据呢?一个参数1、Mapper接口方法只有一个参数时,则XML映射文件中获取该参数数据时硬性的要求,比如:接口抽象方法参数为Stringid,则XML映射文件中可通过 #{任意字符串} 获取到该参数的数据。import java.io.IOExcep...

2019-07-07 19:52:02 118

原创 java虚拟机-类加载机制

目录虚拟机的类加载机制Java类加载器启动类加载器扩展类加载器应用程序类加载器双亲委派模型源码类加载器运行原理自定义类加载器虚拟机的类加载机制虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 虚拟机设计团队把类加载阶段中的“通过一个类...

2019-07-05 22:10:04 215

原创 使用MyBatis的方式

目录 什么是MyBatis? 为什么使用MyBatis ?如何使用MyBatis?第一种方式第二种方式(推荐使用)第三种方式 什么是MyBatis? MyBatis源自Apache的iBatis开源项目, 从iBatis3.x开始正式更名为MyBatis(2010年这个项目由apache software foundation 迁移到了goo...

2019-07-05 16:06:21 140

原创 CGLib实现动态代理

目录CGLib动态代理JDK动态代理与CGLib动态代理区别:动态代理优点:CGLib动态代理程序执行时通过ASM(开源的Java字节码编辑库,操作字节码)jar包动态地为被代理类生成一个代理子类,通过该代理子类创建代理对象,由于存在继承关系,所以父类不能使用final修饰。过程1.首先导入jar包 ...

2019-07-02 22:16:57 133

原创 JDK动态代理

目录代理模式(Proxy Pattern)静态代理动态代理-----JDK动态代理输出JDK动态代理产生的class文件代理模式(Proxy Pattern)代理模式是一种软件设计模式,为某个实现类(也称目标类或委托类)对象提供一个代理类,代理类通过控制该对象的访问可以为该对象中的方法增加额外的功能。静态代理静态代理由一个接口、实现类(也称目标类或委托...

2019-07-02 22:14:06 90

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除