- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 JVM总结万字长文(独尘系列)
我们可以将JVM当成翻译官,JVM目的是将class文件翻译成不同的平台下机器可识别的指令并交由操作系统执行一、生命周期Java 对象生命周期在JVM运行空间中,对象的整个生命周期大致可以分为7个阶段:创建阶段(Creation)、应用阶段(Using)、不可视阶段(Invisible)、不可到达阶段(Unreachable)、可收集阶段(Collected)、终结阶段(Finalized)与释放阶段(Free)。上面的这7个阶段,构成了 JVM中对象的完整的生命周期。下面分别介绍对象在处...
2021-01-25 17:15:23
467
转载 linux 常见命令
一、基本命令1.1 关机和重启1.2 帮助命令二、目录操作命令2.1 目录切换 cd2.2 目录查看 ls [-al]2.3 目录操作【增,删,改,查】2.3.1创建目录【增】 mkdir2.3.2删除目录或文件【删】rm2.3.3目录修改【改】mv 和 cp2.3.4搜索目录【查】find三、文件操作命令3.1 文件操作【增,删,改,查】3.1.1新建文件【增】touch3.1.2 删除文件 【删】 rm3.1.3修改文件【改】 vi...
2021-01-25 14:05:27
420
原创 三.IOC之统一资源:Resource
在学 Java SE 的时候我们学习了一个标准类java.net.URL,该类在 Java SE 中的定位为统一资源定位器(Uniform Resource Locator),但是我们知道它的实现基本只限于网络形式发布的资源的查找和定位。然而,实际上资源的定义比较广泛,除了网络形式的资源,还有以二进制形式存在的、以文件形式存在的、以字节流形式存在的等等。而且它可以存在于任何场所,比如网络、文件系统、应用程序中。所以java.net.URL的局限性迫使 Spring 必须实现自己的资源加载策略,该资源加...
2020-05-17 23:55:29
518
原创 二. IOC概述
IoC 容器Spring 容器是 Spring 框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组件。这些对象被称为 Spring Beans,我们将在下一章中进行讨论。通过阅读配置元数据提供的指令,容器知道对哪些对象进行实例化,配置和组装。配置元数据可以通过 XML,Java 注释或 Java 代码来表示。下图是 Spring 如何工作的高级视图。 Spring IoC 容器利用 Java
2020-05-17 16:39:58
449
原创 一.标题
1.1 什么是SpringSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反
2020-05-17 16:27:29
279
原创 CentOS7使用firewalld打开关闭防火墙与端口
1、firewalld的基本使用启动: systemctl start firewalld关闭: systemctl stop firewalld查看状态: systemctl status firewalld开机禁用 : systemctl disable firewalld开机启用 :systemctl enable firewalld2.sy...
2019-06-10 15:51:44
176
原创 VO,PO,DO,DTO,BO,QO,DAO,POJO的概念
PO(persistant object) 持久对象在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。 PO 中应该不包含任何对数据库的操作。DO(Domain Obj...
2019-05-14 17:26:03
129
转载 lambda表达式详解
1. 什么是λ表达式λ表达式本质上是一个匿名方法。让我们来看下面这个例子: public int add(int x, int y) { return x + y; }转成λ表达式后是这个样子: (int x, int y) -> x + y;参数类型也可以省略,Java编译器会根据上下文推断出来: (x, y)...
2019-04-30 22:29:56
17499
1
原创 SpringBoot中整合Redis
实际 开发 中 缓存 处理是必须的,不可能我们每次客户端去请求一次 服务器 ,服务器每次都要去 数据库 中进行查找,为什么要使用缓存?说到底是为了提高系统的运行速度。将用户频繁访问的内容存放在离用户最近,访问速度最 快的 地方,提高用户的响 应速度,今天先来讲下在 springboot 中整合 redis 的详细步骤。一、 安装 首先要在本地安装一个redis...
2019-04-30 17:02:07
367
原创 SpringBoot常见的注解和说明
@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。@Scope注解 作用域@Lazy(true) 表示延迟初始化@Service用于标注业务层组件、@Controller用于标注控制层组件(如struts中的action)@Repository用于标注数据访问组件,即DAO组件。@Comp...
2019-04-29 17:04:52
157
原创 同时出现多个Bean不知道如何选择
Parameter 0 of method cacheManager in com.qh.redis.config.RedisConfig required a single bean, but 2 were found:当项目中生成两个bean时,进行注入无法去选择注入的对象,这时只要在生成的对象方法上面添加@Primary...
2019-04-29 17:04:22
833
原创 Springboot2.0 yml文件新特性
springBoot升级到2.0之后,yml中的很多属性变得不一样,如1.context-path2.content-type3.multipart4.maxPostSize等等,具体可以在yml中使用提示命令查看改变之后的配置。...
2019-04-29 16:59:52
466
原创 springboot -- 2.0版本自定义ReidsCacheManager的改变
1. 问题发现在1.0版本中,我们配置redis的cacheManager是这种方式: //缓存管理器 @Bean public CacheManager cacheManager(@SuppressWarnings("rawtypes") RedisTemplate redisTemplate) { RedisCacheManager cacheM...
2019-04-29 16:54:53
242
原创 SpringBoot yml文件命名规则
SpringBoot1.*的为驼峰法则 即driverClassNameSpringBoot2.*的命名为下划线 即driver-class-name
2019-04-29 16:48:49
7153
1
原创 springBoot升级注意 ErrorController
1.ErrorController包名改动 1.*的版本包名为org.springframework.boot.autoconfigure.web.ErrorController 2.*的版本包名为org.springframework.boot.web.servlet.error.ErrorController...
2019-04-29 16:36:58
3769
1
原创 小程序image src 无法使用选中的图片地址
获得的临时图片,或者保存后的图片,如何直接在<image/>组件显示出来? **已知的方法:先上传到服务器,然后用http://服务器/abc.jpg的链接显示。能不能不上传到服务器,直接在用wxfile://xxx直接或经过处理在<image />组件显示呢?网友说:你在data那里设个图片路径的变量,然后使用setData把临时路径更新到变量里,...
2019-01-08 12:42:55
11591
1
原创 URLConnection进行POST,GET请求及注意事项
URLConnection是java用来http请求的方式之一,具体的实现方式为:public class HttpRequest { /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * 请求参数,请求参数应该是 name1=value1&...
2019-01-04 15:17:36
4412
原创 mysql8.0注意事项
1.需要将驱动更换为:com.mysql.cj.jdbc.Driver2.需要将jar包更新到8.0以后的版本3.jdbc:mysql://localhost:3306/database?useUnicode=true&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true&chara...
2018-12-05 09:12:34
759
原创 scheduleWithFixedDelay定时任务运行一段时间之后自动关闭
实际开发中往往可以遇到各种定时任务。今天刚好碰到一个现象,记录一下,避免忘记。早上来公司发现有个定时判断的线程竟然停止了,但是其他线程都还在运行。很是纳闷,程序已经运行了很久,没出现过问题。查了一下,发现线程里面可能会出现异常,但是之前对这个点没有做日志,把自己坑了,只能一步步查。发现了个空指针异常。又查了些资料,发现出现类似问题的人还不少。解决办法:1.排查自己线程中代码...
2018-11-19 10:40:30
7252
原创 正则表达式
正则表达式正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。jdk1.4推出java.util.regex包,就为我们提供了很好的JAVA正则表达式应用平台。下面是java中正则表达式常用的语法:字符的取值范围1.[abc] : 表示可能是a,可能是b,也可能是c。2.[^abc]: 表...
2018-11-09 14:41:57
157
原创 时间类calendar
开发过程中涉及到时间的需求比比皆是,今天了解的是时间类中的calendar;calendar本身是一个抽象类,我们需要去通过calendar.getInstance();方法获取到实现类GregorianCalendar;GregorianCalendar本身默认实现了calendar。提供了时间的各种计算和获取。import java.util.Calendar;public...
2018-11-09 13:47:36
173
原创 并发编程的三种实现方式
java天生就是多线程的编程语言,创建新的线程有三种实现方式,分别是:继承Thread,实现Runable,实现Callable<T>代码如下://Threadclass ThreadTest extends Thread { @Override public void run() { // TODO Auto-generated method stub ...
2018-11-09 13:18:46
1592
1
原创 Java修饰符
java修饰符主要分为两类:访问修饰符 default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。 private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类) public : 对所有类可见。使用对象:类、接口、变量、方法 protected : 对同一包内的类和所有子类可见...
2018-11-07 10:48:15
270
原创 java关键字发音
最最常用的关键词及音标数据类型:boolean、byte、short、int、long、double、char、float、double。包引入和包声明:import、package。用于类和接口的声明:class、extends、implements、interface。流程控制:if、else、switch、do、while、case、break、continue、return...
2018-11-06 13:25:01
4533
转载 HTTP协议理解
HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系...
2018-11-05 16:55:22
2006
原创 mysql sql语句长度限制
很多时候往往需要批量往数据表写入大量的数据。但是mysql是有语句长度限制的,默认为1M的长度;因此,咱需要修改my.ini文件(window系统下的mysql配置文件),my.conf(Linux系统下的mysql配置文件)如果你用的是WIN的,请在你的MySQL安装目录下查找my.ini在Linux下你查找my.cnf在配置里面加入max_allowed_packet...
2018-11-05 14:04:28
18861
原创 java 八大基本数据类型
1.分类java中的类型分为基本数据类型和引用类型,今天我们讨论的是java中的八大基本数据类型。基本数据类型可以分为三类:1.数值类型。2.字符类型。3.布尔类型。数值类型又分为:1.整数类型。2.浮点数类型。整数类型:byte,short,int,long浮点数类型:float,double字符类型:char布尔类型:boolean2.区别 2.基本知识...
2018-11-05 13:56:29
330
原创 MyBatis注意事项
1.在<where>标签中为保证某一条件为true,且不影响其他判断条件。最简单的解决方式:<where> <if test="true"> GMT_MODIFY = now() </if> </where> 或者 <where> <if test=&qu
2018-11-05 13:44:01
295
原创 mybatis 返回主键注意事项
有时候当一条记录插入之后,需要用到当前记录的id,方法有二:一:插入当前记录之后,在根据条件去表中查询;二:插入记录时直接返回主键;第一种方法就不说了,我就说说第二种方法: <insert id="insert" useGeneratedKeys="true" keyProperty="id"> INSERT INTO k...
2018-09-26 14:15:53
1452
1
原创 @Test注意事项
问题:pox.xml中明明加入的依赖,可@Test却找不到包。下面是依赖代码。 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4....
2018-08-22 17:26:34
3826
2
原创 mybatis进行批量操作时的需要设置allowMultiQueries=true
前言:在项目开发的时遇到同时执行多条删除或者更新语句,将语句放到mysql命令行来执行是没有问题的,可到了mybatis就报错,为啥呢?解决:请大家先看一段代码:<update id="updateId"> delete from user_1 where time<#{time}; delete from user_2 where time&l...
2018-08-22 16:30:15
4631
1
原创 mysql数据库分表时,使用mybatis动态设置表名
mybatis中传递参数一般使用#{},但是当参数是表名时#{}就会报错。这是为啥呢?这是因为#{ } 解析为一个 JDBC 预编译语句(prepared statement)的参数标记符。简单来讲:select * from user_#{tableVersion}会被解析为select * from user_?而${ } 仅仅为一个纯碎的 string 替换,在动态 SQ...
2018-08-22 16:18:58
3446
1
原创 手动加载spring配置文件
手动加载Spring配置文件有两个类,分别是ClassPathXmlApplication与FileSystemXmlApplicationContext;两个类的区别:1.ClassPathXmlApplication的使用方法@Testpublic void testBean(){ //单配置文件方式一 ApplicationContext APPLICATI...
2018-08-22 15:32:10
3837
java高级架构师面试题合集.zip
2021-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人