自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Java8新特性之【Optional】

简单来说,他就是个包装类,在我们已有的对象外面再包裹一层这个Optional对象。话不多说,直接上干货 —— 这东西到底怎么用呢?我们先来看看 Optional 对象的几种获取方式1.Optional.empty() 获得一个内容为空的一个对象。2. Optional.of(value) 获得一个包装值为 value 的一个对象3. Optional.ofNullable(value) return value == null ? empty() : of(value)一般来说,我们会.

2020-10-26 23:03:54 264

原创 【JAVA面试题整理】_后端开发

实现Servlet的三种方式?(1)实现javax.servlet.Servlet接口。(2)继承javax.servlet.GenericServlet类。(3)继承javax.servlet.http.HttpServlet类。------最常用的是继承HttpServlet,并重写其doGet和doPost方法。详情:JavaWeb学习——Servlet相关的接口和类springmvc如何处理url上的请求?DispatcherServlet拦截所有请求 -> 通.

2020-10-04 11:45:23 181

原创 【JAVA面试题整理】_JavaSE_下

请你简单描述一下正则表达式及其用途在处理字符串的时候,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具。请你谈谈Java中是如何支持正则表达式操作的?Java中的String类提供了支持正则表达式操作的方法,包括:matches()、replaceAll()、replaceFirst()、split()。此外,Java中可以用Pattern类表示正则表达式对象,它提供了丰富的API进行各种正则表达式操作请你比较一下Java和JavaSciprt?.

2020-07-28 15:09:01 258

原创 【JAVA面试题整理】_JavaSE_上

面向对象的特征有哪些方面?封装:最常见的是把属性私有化封装在一个类里面,只能通过方法去访问。继承:从已有类得到继承信息创建新类的过程。抽象:将一类对象的共同特征总结出来构造类的过程。多态: 父类引用指向子类对象。面向对象的“六原则一法则”单一职责原则:一个类只做它该做的事情。开闭原则:软件实体应当对扩展开放,对修改关闭。依赖倒转原则:面向接口编程。里氏替换原则:任何时候都可以用子类型替换掉父类型。接口隔离原则:接口要小而专,绝不能大而全。合成复用原则:在代码复用上优先考虑.

2020-07-28 15:08:34 263

转载 一文了解JPA、Hibernate、Spring Data JPA

文章目录前言JPA是啥- JPA为我们提供了以下规范:Hibernate是啥Hibernate 和 JPA是什么关系呢Spring Data是啥Spring Data JPA又是啥- Spring Data JPA给我们提供的主要的类和接口Spring Data JPA和Hibernate的关系总结:前言       我们都知道Java 持久层框架访问数据库的方式大致分为两种。一种以 SQL 核心,封装一定程度的 JDBC 操作,比如

2020-07-21 12:21:48 146

原创 SpringBoot学习笔记01_基本使用

文章目录SpringBoot的核心功能SpringBoot快速入门配置文件与配置类的属性映射方式1、使用注解@Value映射2、使用注解@ConfigurationProperties映射SpringBoot的核心功能起步依赖       起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。简单的说,起步依赖就是将具备某种功能的坐

2020-07-20 23:20:16 106

原创 SpringMVC学习笔记03_拦截器

文章目录拦截器和过滤器的区别自定义拦截器的步骤第一步:编写一个普通类实现 `HandlerInterceptor` 接口第二步:配置拦截器多个拦截器的执行顺序拦截器的简单案例(验证用户是否登录)- 实现思路- 控制器代码- 拦截器代码拦截器和过滤器的区别过滤器是 servlet 规范中的一部分,任何 java web 工程都可以使用。拦截器是 SpringMVC 框架自己的,只有使用了 SpringMVC 框架的工程才能用。过滤器在 url-pattern 中配置了/*之后,可以对所有要访问的资源

2020-07-20 14:48:25 116

原创 SpringMVC学习笔记02_常用注解

文章目录常用注解@RequestParam / @RequestBody / @PathVaribale@SessionAttribute常用注解@RequestParam / @RequestBody / @PathVaribaleRequestParam 使用说明作用:把请求中指定名称的参数给控制器中的形参赋值。属性:value:请求参数中的名称。required:请求参数中是否必须提供此参数。默认值:true。表示必须提供,如果不提供将报错。PathVaribale 使用说

2020-07-20 14:47:50 101

原创 SpringMVC学习笔记01_快速入门

文章目录快速入门1、在web.xml中配置核心控制器:一个 Servlet2、创建 spring mvc 的配置文件 (解决中文乱码问题)3、编写控制器并使用注解配置就可以使用了@RequestMapping注解参数绑定· 支持的数据类型主要有三种· 使用要求题外话:SpringMVC 和 Struts2 的优略分析快速入门1、在web.xml中配置核心控制器:一个 Servlet<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD

2020-07-20 14:47:29 125

原创 权限管理系统——开发日记

技术栈 —— Spring + SpringMVC + Mybatis +(AdminLTE模板工具+jsp、Oracle)一、环境搭建及产品订单操作二、springSecurity框架三、用户/角色/权限之间的关联操作

2020-07-20 14:47:02 807

原创 SSM整合

文章目录成果预览1、所需配置文件结构2、各大配置文件中的内容详细步骤a. 保证 Spring 框架在 web 工程中独立运行b. 保证 SpringMVC 在 web 工程中独立运行c. 整合 Spring 和 SpringMVCd. 保证 MyBatis 框架在 web 工程中独立运行e. 整合 Spring 和 MyBatis成果预览1、所需配置文件结构2、各大配置文件中的内容applicationContext.xml<?xml version="1.0" encoding="U

2020-07-20 14:44:19 251

原创 Spring学习笔记04_AOP

文章目录什么是AOP?AOP 的作用及优势AOP 相关术语基于XML的AOP配置1、不同通知类型单独配置方式a.把通知类用 bean 标签配置起来b.使用 aop:config 声明 aop 配置c.使用 aop:aspect 配置切面d.使用 aop:pointcut 配置切入点表达式e.使用 aop:xxx 配置对应的通知类型2、利用环绕通知进行手动配置的方式基于注解的 AOP 配置1、不同通知类型单独配置方式a.在 spring 配置文件中开启 spring 对注解 AOP 的支持b.在配置类上声明配

2020-07-19 00:30:41 102

原创 Spring学习笔记03_基于注解的 IOC 配置

文章目录一、常用注解1、用于 创建对象 的注解2、用于 注入数据 的注解3、用于 改变作用范围 的注解二、从xml到纯注解的替换过程1、使用@Component 替换 < bean>2、用@Configuration配置类去替换配置文件3、用@ComponentScan替换< context:component-scan>4、再用一个配置类来封装数据库的相关配置5、用@Import整合多个配置类6、没有配置文件时是如何获取容器的三、纯注解下的工程结构一、常用注解1、用于 创建对象

2020-07-18 18:44:40 74

原创 Spring学习笔记02_spring如何管理对象

文章目录IOC 中 bean 标签和管理对象细节bean 标签bean 的作用范围和生命周期实例化 Bean 的三种方式第一种方式:使用默认无参构造函数第二种方式:spring 管理静态工厂-使用静态工厂的方法创建对象第三种方式:spring 管理实例工厂,使用实例工厂的方法创建对象IOC 中 bean 标签和管理对象细节bean 标签bean 的作用范围和生命周期实例化 Bean 的三种方式第一种方式:使用默认无参构造函数<!--在默认情况下:它会根据默认无参构造函数来创建类对象。

2020-07-18 14:38:50 719

原创 Spring学习笔记01_什么是IoC和DI

控制反转控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。IoC很好的体现了面向对象设计法则之一—— 好莱坞法则:“别找我们,我们找你”;即由IoC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫依赖查找(Dependency Lookup)。依赖注入通过依赖注入机制,我们只需要通过简单的配置,而无需任

2020-07-18 14:05:01 72

原创 Mybatis学习笔记02_常用操作

文章目录简单CURD1、常用注解说明2、持久层接口编写示例复杂关系映射 (User-->Account为一对多关系)1、常用注解说明 (下面仅以查询为例)2、使用注解实现一对多复杂关系映射3、使用注解实现一对多复杂关系映射简单CURD1、常用注解说明@Insert: 实现新增@Update: 实现更新@Delete: 实现删除@Select: 实现查询@Result: 实现结果集封装@Results: 可以与@Result 一起使用,封装多个结果集@Resul

2020-07-18 13:35:24 69

原创 Mybatis学习笔记01_快速入门

demo

2020-07-17 19:28:35 92

原创 Java中关于String的地址问题

突发奇想,这里探究下关于String的地址问题public class Test { public static void main(String[] args) throws Exception { String s1 = "helloworld"; String s2 = new String("helloworld"); String s3 = "hello"; String s4 = "world"; Stri

2020-07-15 00:05:57 979

原创 Mybatis学习笔记03_缓存机制

Mybatis的缓存分为一级缓存和二级缓存像大多数的持久化框架一样,Mybatis 也提供了缓存策略,通过缓存策略来减少数据库的查询次数,从而提高性能。一级缓存:一级缓存是 SqlSession 级别的缓存,只要 SqlSession 没有 flush 或 close,它就存在。(flush --> 对数据的增删改查操作)一级缓存是不能关闭的,但可以设置flushCache=true强制清除缓存或更改localCacheScope=STATEMENT,这样每次都会查数据库,当然也可以手动

2020-07-14 14:23:45 88

原创 简单描述下TCP的‘“三次握手”和“四次挥手”

三次握手是发生在请求建立连接的阶段:第一次握手:客户端向服务器发送建立的请求(SYN);第二次握手:服务器向客户端回应报文,表示已收到请求(SYN+ACK);第三次握手:客户端再次向服务器发送确认前面回应的请求(ACK);ps 请求建立连接为什么要三次呢?理论上两次就够了。但可能会造成连接资源的浪费。举个例子:客户端在老早的时候给服务器发送了一个请求,但由于某些不开心的原因,请求报文在路上堵车了好久。终于服务器收到了报文,并想客户端发起了连接请求,可客户端由于等太久了以为对方没收到,就放弃

2020-07-13 22:29:42 624 1

原创 spring data jpa上的级联删除问题

spring data jpa上的级联删除先来看一段报错:Caused by: java.sql.SQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (blog.t_blog, CONSTRAINT FK292449gwg5yf7ocdlmswv9w4j FOREIGN KEY (type_id) REFERENCES t_type

2020-07-13 19:16:35 2085 1

原创 Java的值传递问题

在Java中有引用传递吗?通过在网上翻阅了众多的资料后,给自己做了以下总结答:答案是否定的,Java语言的方法调用只支持参数的值传递。追问:你可能会说传入的实参是基本类型的话你能理解,因为形参接收到的值相当于实参值的拷贝,对新参的改变当然不会影响实参;如果实参是引用类型的话就不一样了,你改变形参的属性,那么实参的属性也会跟着变化,这难道不是引用传递吗?看看加粗的字体,你可能就会突然感觉到好像有什么不对的地方回答:为什么说引用类型的参数也是值传递,首先最应该弄明白的一点就是,引用类型它

2020-07-13 08:42:43 87

原创 MD5加密算法

MD5加密算法先来一点前置知识~~

2020-07-13 00:35:34 142

原创 与、或、非、异或、移位运算

与、或、非、异或、移位运算与(&)、或(|) 、非(~)’、异或(^)运算符所有整数取反=本身相反数-1举个例子来看看:与运算int a=5; //二进制形式为: 0101int b=128; //二进制形式为: 1010System.out.println(a&b) // 128 --> 1000 0000与运算:都为1时,才得1或运算int a=129; //二进制形式为: 1000 0001int b=128; //二进制形式为: 1000

2020-07-12 16:44:46 1146

原创 什么是原码、反码、补码

什么是原码、反码、补码在参考了众多大佬的回答之后,在这里做个笔记以便自己随时翻阅,强调!是总结!总结!。首先要明白的就是,在计算机中,1、正数是直接用原码表示的,如单字节5,在计算机中就表示为:0000 0101。2、负数以其正值的补码形式表示,如单字节-5,在计算机中表示为1111 1011。3、正数的原、反、补码都是一样的,所以下面仅对负数进行讨论。原码负数的原码,是按照绝对值大小转换成的二进制数,然后最高位补1,表示符号。00000000 00000000 00000

2020-07-12 01:25:23 1143

原创 Map集合在算法中的妙用

到底什么时候该用Map集合呢下面是我在LeetCode上做的一个简单笔记,代码虽然简单,但重在思想。题目要求:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。当时的第一反应不出意外,又是暴力搜索: public int[] twoSum() { int[] nums = {2, 7, 11, 15}; i

2020-07-10 10:33:11 296

原创 spring data jpa + mysql 上踩过的坑

最近在做一个小项目,技术上用的是springboot+jpa(Java Persistence API)spring data jpa让我们解脱了DAO层的操作,基本上所有CRUD都可以依赖于它来实现,他是实现了orm思想的一套框架。(1)先让实体类和数据库表对应,再让实体类属性和表里面字段对应@Entity@Table(name = "t_user")public class User { @Id @GeneratedValue private Long id;

2020-07-09 23:35:59 300

原创 Android移动开发——Listview列表视图的使用讲解及SimpleAdapter实例

Listview列表视图的使用讲解文章目录Listview列表视图的使用讲解Listview的定义listview的显示需要三个元素什么是适配器呢?ListAdapterSpinnerAdapterBaseAdapterArrayAdapterSimpleAdapter实例具体实现<1>在一个xml中定义组件Listview<2>在新一个xml中定义想要试图组件结构<3>放入所需图片资源(若视图组件无另外的资源此步省略)<4>在主应用类中编写listview

2020-06-12 17:18:46 1208

原创 android intent——小白入口

首先什么是Itent呢?Intent在android中是一个非常非常常用并且重要的类,主要用来在一个组件中启动同一App中的另一个组件或者是启动另一个App中的组件,这里所说的组件指的是Android四大组件其三:Activity(活动)、 Service(服务)以及 Broadcast(广播),,,没有ContentProvider哦。对这四大组件感兴趣的小伙伴可以进这里了解了解:https://blog.csdn.net/Maverlous/article/details/106072462现在

2020-05-22 17:31:16 281

空空如也

空空如也

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

TA关注的人

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