自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lopeasd

竭其力以得所欲

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

转载 java统计时间

统计代码片段执行时长

2022-08-23 09:25:20 2305

转载 java日期类

java日期类

2022-08-22 18:03:18 125

原创 同步 异步 阻塞 非阻塞

1.同步与异步这里的同步不是指进程之间的两种制约关系(同步互斥)消息通信机制同步与异步的重点在消息通知的方式上,也就是调用结果通知的方式。同步: 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。异步: 异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时我们可以处理其他的请求,被调用者通常依靠事件,回调等机制来通知调用者其返回...

2020-02-16 21:58:02 243

原创 Comparatable接口和Comparator接口区别

1.两个接口中的方法名比较Comparable中只有一个抽象方法public int compareTo(T o);Comparator中有多个方法具体方法:Comparable public int compareTo(Object o) { return 0; }Comparator public int compare(Object o1, O...

2019-08-24 09:25:30 663

原创 mysql流程控制结构

一、条件控制1.if函数在mysql中if()函数的用法类似于java中的三目表达式语法:if(条件,值1,值2)功能:实现双分支应用在begin end中或外面例:select name,if(sex=0,'女','男') sex from t_test;2.if结构语法:if 条件1 then 语句1;elseif 条件2 then 语句2;.......

2019-08-15 01:13:02 175

原创 视图,存储过程和函数

视图一、含义视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。好处:1、简化sql语句2、提高了sql的重用性3、保护基表的数据,提高了安全性二、创建create view 视图名as...

2019-08-14 18:54:09 1060

转载 information_schema

官网描述:INFORMATION_SCHEMAprovides access to databasemetadata, information about the MySQL server such as the name of a database or table, the data type of a column, or access privileges. Other term...

2019-08-14 01:16:33 457

转载 软件版本GA、RC、beta等含义

GAGeneral Availability,正式发布的版本,官方开始推荐广泛使用,国外有的用GA来表示release版本。RELEASE正式发布版,官方推荐使用的版本,有的用GA来表示。比如spring。Stable稳定版,开源软件有的会用stable来表示正式发布的版本。比如Nginx。Final最终版,也是正式发布版的一种表示方法。比如Hibernate。...

2019-08-09 22:20:04 179

原创 mysql概述

一、数据库的常见概念1、DB:数据库,存储数据的容器2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB3、SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言二、MySQL服务启动和停止:方式一:通过命令行 net start 服务名 net stop 服务名方式二:计...

2019-08-08 10:29:01 130

原创 Spring总结二:依赖注入

Bean配置的三种方式基于XML的配置方式 基于注解的配置方式 基于Java类的配置方式一、基于XML的配置配置多个资源文件在配置文件中使用import来导入所需的配置文件。 将多个配置文件构造为一个数组,然后传递给ApplicationContext实现加载多个配置文件。这两种方式都是通过调用BeanDefinitionReader来读取定义文件的,在内部实现上没有任何的...

2019-08-07 00:33:26 143

转载 阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义

分层领域模型规约:DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。 DTO( Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。 BO( Business Object):业务对象。 由Service层输出的封装业务逻辑的对象。 AO( Application Object):应用对象。 在W...

2019-08-05 12:29:52 162

原创 缓存一直性和java内存模型

CPU性能优化手段一、缓存一级缓存可分为一级指令缓存和一级数据缓存。一级指令缓存用于暂时存储并向CPU递送各类运算指令;一级数据缓存用于暂时存储并向CPU递送运算所需数据,这就是一级缓存的作用。二级缓存就是一级缓存的缓冲器:一级缓存制造成本很高因此它的容量有限,二级缓存的作用就是存储那些CPU处理时需要用到、一级缓存又无法存储的数据。三级缓存和内存可以看作是二级缓存的缓...

2019-08-04 20:52:14 692

原创 volatile关键字

volatile语义一.保证此变量对所有的线程的可见性,二.禁止指令重排序优化。①保证可见性这里的“可见性”,是指,当一个线程修改了这个变量的值,新值对于其他线程来说是立即得知的。volatile 保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新。但普通变量做不到这点,普通变量的值在线程间传递均需要通过主内存来完成。②保证顺序性volatile关键字对顺...

2019-08-04 13:02:19 128

原创 计算机网络概述

计算机网络体系结构 图片来源:JavaGuide五层协议①应用层:为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。...

2019-08-03 20:16:09 254

原创 Spring总结一:IOC

Spring概述①Spring是一个开源框架②Spring为简化企业级开发而生,使用Spring,JavaBean就可以实现很多以前要靠EJB才能实现的功能。同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能够实现,而在Spring中却非常的优雅和简洁。③Spring是一个IOC(DI)和AOP容器框架。④Spring的优良特性[1]非侵入式:基于Spring开发的应用中的...

2019-08-03 02:31:42 167

原创 网络编程Socket

Java 中的网络支持InetAddress:用于表示网络上的硬件资源,即 IP 地址; URL:统一资源定位符; Sockets:使用 TCP 协议实现网络通信; Datagram:使用 UDP 协议实现网络通信。InetAddressInetAddress类是Java对IP地址(包括IPv4和IPv6)的高层表示。大多数其他网络类都要用到这个类,包括Socket,ServerS...

2019-08-01 00:29:34 186

原创 MyBatis映射文件配置

XML 映射文件MyBatis 的真正强大在于它的映射语句,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 为聚焦于 SQL 而构建,以尽可能地为你减少麻烦。SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出):namespace命名...

2019-07-30 21:56:17 752

原创 mybatis全局配置文件

一、配置文档的顶层结构二、约束文件配置元素顺序有严格要求,不能随便放置。在联网的情况下是可以不添加配置文件约束的,但是没有网络的情况下,只能从本地加载这个约束文件。配置dtd文件可以编写xml的时候ide进行提示1.dtd文件在jar包中的如下位置,复制出两个文件到别的目录2.idea中dtd文件配置3.eclipse中的配置三、重要属性说明...

2019-07-30 01:35:06 377

原创 MyBatis总结一

简介•MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。•MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。•MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old/Ordinary Java Objects,普通的Java对象)映射成数据库中的记录.使用m...

2019-07-28 03:16:19 129

原创 getResourceAsStream加载资源文件

Java中的getResourceAsStream有以下几种:1. Class.getResourceAsStream(String path)path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。当资源文件和类在同一级目录时,加不加/都可以。否则必须加/...

2019-07-28 00:58:54 1591

原创 类加载器

类与类加载器两个类相等,需要类本身相等,并且使用同一个类加载器进行加载。这是因为每一个类加载器都拥有一个独立的类名称空间。这里的相等,包括类的 Class 对象的 equals() 方法、isAssignableFrom() 方法、isInstance() 方法的返回结果为 true,也包括使用 instanceof 关键字做对象所属关系判定结果为 true。类加载器分类从 Jav...

2019-07-27 10:40:38 135

原创 clinit和init

在编译生成class文件时,会自动产生两个方法,一个是类的初始化方法<clinit>, 另一个是实例的初始化方法<init><clinit>方法的执行时期类初始化阶段(该方法只能被jvm调用, 专门承担类变量的初始化工作)在jvm第一次加载class文件时调用,包括静态变量初始化语句和静态块的执行类的初始化时机:1.主动引用 遇到 n...

2019-07-26 13:16:51 532

原创 类加载过程

类的生命周期系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。类加载过程包含了加载、验证、准备、解析和初始化这 5 个阶段。1. 加载加载是类加载的一个阶段,注意不要混淆。加载过程完成以下三件事:通过类的完全限定名称获取定义该类的二进制字节流。 将该字节流表示的静态存储结构转换为...

2019-07-26 10:46:48 143

转载 内存分配策略

Major GC 和Full GCMajor GC通常是跟full GC是等价的,收集整个GC堆。但因为HotSpot VM发展了这么多年,外界对各种名词的解读已经完全混乱了,当有人说“major GC”的时候一定要问清楚他想要指的是上面的full GC还是old GC。Partial GC:并不收集整个GC堆的模式Young GC:只收集young gen的GC Old GC:只...

2019-07-25 19:30:06 231

原创 HotSpot虚拟机主要参数

JVM参数分类JVM参数分为标准参数和非标准参数:标准参数: "-"开头的参数,如-client, -server等 非标准参数: "-X"和"-XX"开头的参数,如-Xmx, -XX:+DisableExplicitGC或者简单分为三类:"-"开头的参数 :所有的JVM实现都必须实现这些参数的功能,而且向后兼容; "-X"开头的参数 :默认jvm实现这些参数的功能,但是并...

2019-07-23 16:32:46 212

原创 垃圾回收算法与Hotspot算法实现以及垃圾回收器

垃圾回收算法1. 标记 - 清除在标记阶段,程序会检查每个对象是否为活动对象,如果是活动对象,则程序会在对象头部打上标记。在清除阶段,会进行对象回收并取消标志位,另外,还会判断回收后的分块与前一个空闲分块是否连续,若连续,会合并这两个分块。回收对象就是把对象作为分块,连接到被称为 “空闲链表” 的单向链表,之后进行分配时只需要遍历这个空闲链表,就可以找到分块。在分配时...

2019-07-23 15:32:50 190

原创 JDBC创建链接的几种方式以及常用连接池

Connection的创建方式private final String driverClass = "com.mysql.jdbc.Driver";private final String jdbcUrl = "jdbc:mysql://127.0.0.1:3306/test";private final String username = "root";private final...

2019-07-22 19:00:57 399

原创 jstl和el

jsp(Java Server Page )从用户角度看待 ,就是是一个网页 , 从程序员角度看待 , 其实是一个java类, 它继承了servlet,所以可以直接说jsp 就是一个Servlet. jsp中可以编写Java代码写法<%! %>,这里面可以申明变量或方法,注意:这里面申明的变量是全局的<% %>,与上面的方法相比,这个方法的局部的&lt...

2019-07-21 20:09:46 120

原创 xml的基本概念

XmleXtendsible markup language 可扩展的标记语言XML 有什么用? 可以用来保存数据 可以用来做配置文件 数据传输载体 ##定义xml其实就是一个文件,文件的后缀为 .xml###. 文档声明 简单声明, version : 解析这个xml的时候,使用什么版本的解析器解析 <?x...

2019-07-20 09:03:34 342

转载 Cookie与Session

会话技术1. 会话:一次会话中包含多次请求和响应。 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止2. 功能:在一次会话的范围内的多次请求间,共享数据3. 方式: 1. 客户端会话技术:Cookie 2. 服务器端会话技术:SessionCookie方法:属性:内部有一个静态代码块: stat...

2019-07-20 08:05:01 152

原创 http协议以及get和post区别

http协议 什么是协议 双方在交互、通讯的时候, 遵守的一种规范、规则。 http协议 针对网络上的客户端 与 服务器端在执行http请求的时候,遵守的一种规范。 其实就是规定了客户端在访问服务器端的时候,要带上哪些东西, 服务器端返回数据的时候,也要带上什么东西。版本1.0请求数据,服务器返回后, 将会断开连接1.1请求数据,服务...

2019-07-19 19:03:37 121

原创 Servlet

Servlet的体系结构 Servlet -- 接口 | GenericServlet -- 抽象类 | HttpServlet -- 抽象类 * GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象 * 将来定义Servlet类时,可以继...

2019-07-19 17:00:57 121

转载 对象的生存死亡

判断一个对象是否可被回收1. 引用计数算法为对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可被回收。在两个对象出现循环引用的情况下,此时引用计数器永远不为 0,导致无法对它们进行回收。正是因为循环引用的存在,因此 Java 虚拟机不使用引用计数算法。public class ReferenceCountExample {...

2019-07-16 11:16:16 116

转载 运行时常量池,字符串常量池

class常量池class常量池简介:我们写的每一个Java类被编译后,就会形成一份class文件;class文件中除了包含类的版本、字段、方法、接口等描述信息外,还有一项信息就是常量池(constant pool table),用于存放编译器生成的各种字面量(Literal)和符号引用(Symbolic References);每个class文件都有一个class常量池。...

2019-07-15 18:08:54 713

原创 java内存结构

首先了解内存结构,内存模型,以及对象模型的区别推荐阅读什么是java内存模型JVM内存结构 VS Java内存模型 VS Java对象模型一、jvm运行时数据区域Native Interface本地接口本地接口的作用是融合不同的编程语言为 Java 所用,它的初衷是融合 C/C++程序,Java 诞生的时候是 C/C++横行的时候,要想立足,必须有调用 C/C++程序...

2019-07-15 14:50:48 157

原创 创建对象的几种方式

概述①、使用new关键字;②、使用Class类的newInstance方法;③、使用Constructor类的newInstance方法;④、使用Object类的clone方法;⑤、使用反序列化的方式;详解1.使用Class类的newInstance方法这个newInstance方法调用无参的构造器创建对象 private static void dem...

2019-07-14 01:25:56 548

原创 关键字

一、关键字final1. 数据声明数据为常量,可以是编译时常量,也可以是在运行时被初始化后不能被改变的常量。对于基本类型,final 使数值不变; 对于引用类型,final 使引用不变,也就不能引用其它对象,但是被引用的对象本身是可以修改的。final int x=1;// x=2;cannot assign a value to final variable 'x'...

2019-07-13 19:12:59 289

原创 抽象类和接口

区别一个类只可以继承一个抽象类,但可以实现多个接口抽象类可以有构造方法,接口中不能有构造方法抽象类可以有普通的成员变量,接口中不能有普通的成员变量抽象类中可以包含静态方法,接口中不能包含静态方法1. 抽象类抽象类和抽象方法都使用 abstract 关键字进行声明。如果一个类中包含抽象方法,那么这个类必须声明为抽象类。抽象类和普通类最大的区别是,抽象类不能被实例化,需要继...

2019-07-13 09:54:47 164

转载 面向对象五大原则

三大基本特征:封装、继承、多态 1、封装  封装就是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。  封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使...

2019-07-12 22:29:28 250

转载 数据类型

基本类型boolean 只有两个值:true、false,可以使用 1 bit 来存储,但是具体大小没有明确规定。JVM 会在编译时期将 boolean 类型的数据转换为 int,使用 1 来表示 true,0 表示 false。JVM 支持 boolean 数组,但是是通过读写 byte 数组来实现的。包装类型基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自...

2019-07-12 21:59:44 151

空空如也

空空如也

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

TA关注的人

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