自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

素小暖的博客

一杯咖啡,一行代码,是一种境界,也是一种追求!

  • 博客(234)
  • 论坛 (8)
  • 收藏
  • 关注

原创 Redis基础知识总结(绝对经典)

一、Redis简介1、Redis(Remote Dictionary Server 远程字段服务)是一个开源的使用ANSI C语言编写、支持网络、科技与内存亦可持久化的日志型、key-value数据库,并提供多种语言的API。2、Redis是一个key-value存储系统,它支持存储的value类型相对更多,包括string、list、set、zset(sorted set --有序集合)和hash。这些数据结构都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操

2020-09-02 11:52:29 502

原创 Java多线程基础知识总结(绝对经典)

一、Synchronized保证原子性public class Test { private static int number = 0; private static Object obj = new Object(); public static void main(String[] args) throws InterruptedException { Runnable increment = () -> { for (int

2020-08-17 14:41:27 1013 4

原创 Java面试题总结(附答案)

2012年毕业,2016年转行,没有一个体面的工作,机缘巧合之下,来到了大连,Java培训,一个全新的领域,迷茫、困惑、漫无目的的努力,转行真的被歧视,真的不行吗?我命由我不由天,我觉得我行!相信我,只要你足够努力,总有成为架构师,独挡一面的一天。最近参加了一些面试,效果不是很理想,项目介绍只有大框,没有突出重点,没有项目中的具体细节,因为都是看的B站视频,实际工作中都是在做重复的CRUD工作,愁人啊。618买的新书塑料还没拆!视频计划已经执行到第二篇了!熬夜学习,是刻苦奋斗还是自欺欺人?面试

2020-08-04 23:56:28 5676 37

原创 Vue基础知识总结(绝对经典)
原力计划

昨天晚上23:00,Vue,正式打响第一枪!转行三年半,向全栈迈进,争取三年内可以成为架构师,成为世界500强公司的中流砥柱,fighting从未停止,加油!一、简介Vue(读音 /vjuː/,类似于 view)是一套用于构建用户界面的渐进式JavaScript框架。与其它框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,方便与第三方库或既有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。Vue.js 的目标是.

2020-06-23 10:49:14 7209 29

原创 Java基础知识总结(绝对经典)

一、Java概述1991 年Sun公司的James Gosling(詹姆斯·高斯林)等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;Java的三种技术架构:JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;JA

2020-06-10 11:10:08 2791 14

原创 常见数据结构与算法整理总结

一、前言数据结构,是指相互之间存在一种或多种特定关系的数据关系的集合,用计算机存储、组织数据的方式。数据结构分为逻辑结构、物理结构和数据的运算三大部分。二、为什么要学数据结构1、因为数据结构作为计算机专业的专业基础课程,是计算机考研的必考科目之一,如果打算报考计算机专业的研究生,你必须学好它;2、数据结构是计算机软考、计算机等级考试等相关考试的必考内容之一,想要顺利通过这些考试,你也必须学好它;3、数据结构是其它计算机课程的基础,如操作系统、编程原理、数据库管理系统、软件工程、人

2020-05-19 16:39:12 631 5

原创 超详细的springBoot学习笔记

本系列是springboot的学习笔记,从入门到精通,不积跬步无以至千里,水滴石穿!欲速则不达,欲达则欲速!在学习springboot的过程中,发现了一个springboot中文索引做的非常不错,分享springboot的学习资源和开源软件,对springboot的学习帮助极大。小编推荐学习视频:SpringBoot_最新教程_spring boot_springboot核心篇+spr...

2020-02-01 19:15:48 1362 5

原创 Java设计模式:23种设计模式全面解析(超级详细)

一、什么是设计模式设计模式是一套被反复使用、多数人知晓的、经过分类编写的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式使代码编程真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖头一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式都有响应的原理与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题...

2020-01-18 08:20:52 719

原创 【全栈最全Java框架总结】SSH、SSM、Springboot

本系列用来记录常用java框架的基本概念、区别及联系,也记录了在使用过程中,遇到的一些问题的解决方法,方便自己查看,也方便大家查阅。欲速则不达,欲达则欲速!一、SSH1、基本概念SSH框架是JAVA EE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成,是当前比较流行的java web开源框架。集成SSH框架的系统从职责上分为(Struts2--...

2020-01-17 14:14:13 1900 1

原创 【Spring Boot 24】MyBatis逆向工程(Example + Criteria简介)

mybatis需要编写sql语句,mybatis官方提供提箱工程,可以针对单表自动生成mybatis执行所需要的代码(诸如bean、dao、mapper),提高工作效率,尤其是在需要大量表进行单表查询的时候,效率极高。一、创建SpringBoot工程,添加POM<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www

2020-11-29 14:16:46 509 10

原创 List遍历删除元素remove()

今天同事来找我说代码有问题,list中remove,这是不对的,我记得当时我真的进行了测试,我也觉得不对,但是确实是没测出来,就没多想!真的是菜的一笔!今天好好研究一下,先写几个case预热一下一、几种常见的遍历方式1、普通for循环2、高级for循环3、iterator和removeIf4、stream()5、复制二、源码篇1、普通for循环出错原因public boolean remove(Object o) { if (o == .

2020-11-24 22:44:44 524 20

转载 为什么阿里巴巴不建议在for循环中使用”+”进行字符串拼接

本文,也是对于Java中字符串相关知识的一个补充,主要来介绍一下字符串拼接相关的知识。本文基于jdk1.8.0_181。一、字符串拼接字符串拼接是我们在Java代码中比较经常要做的事情,就是把多个字符串拼接到一起。我们都知道,String是Java中一个不可变的类,所以他一旦被实例化就无法被修改。不可变类的实例一旦创建,其成员变量的值就不能被修改。这样设计有很多好处,比如可以缓存hashcode、使用更加便利以及更加安全等。但是,既然字符串是不可变的,那么字符串拼接又是怎么回事呢?

2020-11-20 23:13:34 133 2

原创 分别在SpringBoot和Vue中解决跨域问题

一、为什么会出现跨域问题出于浏览器的同源策略。同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的JavaScript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域),就是两个页面具有相同的协议protocol、主机host和端口号port。二、当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域当前

2020-11-20 22:57:54 150 5

转载 怎么从初、中级Java程序员过渡到高级Java程序员?

Java程序员从初、中级过渡到高级,需要的知识体系大概是这样的(以阿里技术序列职级为例):第一阶段:高质量的coding能力这个阶段要专注于技术栈的通透理解,包括算法和数据结构的正确使用,关系数据库的搞笑使用,运用设计模式改善软件架构。通过项目输出的形式,为Java语言特性、面向对象/设计模式、数据库、算法和数据结构打下基础。第二阶段:独立的架构能力完成第一阶段,基本已经达到P5-P6的水平。接下来需要专注体系化的架构思维,即培养独立的架构能力。这个阶段建议搭建一个通用的电商平台,.

2020-11-18 21:42:34 132

原创 String拓展:intern()方法

String s1 = new String("1") + new String("1");//s1变量记录的地址为:new Strings1.intern();//在字符串常量池中生成"11"。如何理解:jdk6:创建了一个新的对象"11",也就有新的地址;jdk7:此时常量池中并没有创建"11",而是创建了一个指向堆空间中new String("11")的地址;String s2 = "11";System.out.println(s1 == s2);//jdk6:false;jdk7:true.

2020-11-18 21:26:40 98

转载 Java之StringUtils的常用方法

StringUtils 方法的操作对象是Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。除了构造器,StringUtils 中一共有130多个方法,并且都是 static 的,所以我们可以这样调用 StringUtils.xxx().

2020-11-18 00:06:01 115

转载 深入理解Java String类

在Java语言中,所有类似“ABC”的字面值,都是String类的实例;String类位于java.lang包下,是Java语言的核心类,提供了字符串的比较、查找、截取、大小写转换等操作;Java语言为“+”连接符(字符串连接符)以及对象转换为字符串提供了特殊的支持,字符串对象可以使用“+”连接其他对象。String类的部分源码如下public final class String implements java.io.Serializable, Comparable<String&gt

2020-11-18 00:00:43 107

原创 【Java8 新特性 5】Stream

一、简介Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。特点: 1 . 不是数据结构,不会保存数据。 2. 不会修改原来的数据源,它会将操作后的数据保存到另外一个对象中。...

2020-11-17 23:49:08 107 2

原创 【Java8 新特性 4】Optional

package test.optional;public class School { private Teacher teacher; public Teacher getTeacher() { return teacher; }}package test.optional;public class Teacher { private Student student; public Student getStudent() { return student; }.

2020-11-17 23:46:03 108 3

原创 SpringMVC中put和post如何选择

有的观点认为,应该用POST来创建一个资源,用PUT来更新一个资源;有的观点认为,应该用PUT来创建一个资源,用POST来更新一个资源;还有的观点认为可以用PUT和POST中任何一个来做创建或者更新一个资源。这些观点都只看到了风格,争论起来也只是争论哪种风格更好,其实,用PUT还是POST,不是看这是创建还是更新资源的动作,这不是风格的问题,而是语义的问题。 举一个简单的例子,假如有一个博客系统提供一个Web API,模式是这样http://superblogging/blogs/{blog-name..

2020-11-16 10:05:43 107

原创 对比truncate和delete

TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如

2020-11-12 21:02:03 102

转载 错误: 找不到或无法加载主类

今天遇到一个很郁闷的问题,我自己手写了一个简单的java类的测试,但是Run as Java Application 时,却报一个错误说,找不到或无法加载类*****,找了半天问题,最后解决的办法是:点击项目文件夹选择Build Path--->Configure Build Path-->Libraries里面把用不到的jar包通通清理掉重新Run asJava Application 就好了。注意:用不到的jar包,比较明显的特点是在Libraries里面它的前面有个蓝色的圆点标记.

2020-11-12 15:21:52 200

转载 AES加密算法的详细介绍与实现

AES加密算法的详细介绍与实现

2020-11-11 21:56:58 98

转载 Java反射之Method的invoke方法实现

在框架中经常会会用到method.invoke()方法,用来执行某个的对象的目标方法。以前写代码用到反射时,总是获取先获取Method,然后传入对应的Class实例对象执行方法。然而前段时间研究invoke方法时,发现invoke方法居然包含多态的特性,这是以前没有考虑过的一个问题。那么Method.invoke()方法的执行过程是怎么实现的?它的多态又是如何实现的呢?本文将从java和JVM的源码实现深入探讨invoke方法的实现过程。首先给出invoke方法多态特性的演示代码:public

2020-11-11 21:55:35 154 2

转载 FileInputStream 类与 FileReader 类的区别

FileInputStream类与FileReader类的区别:两个类的构造函数的形式和参数都是相同的,参数为File对象或者表示路径的String,它们到底有何区别呢?FileInputStream:以字节流方式读取;FileReader:把文件转换为字符流读入;InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。用Reader读取出来的是char数组或者String,使用InputStream读取出来的是byte数组。Read...

2020-11-11 21:42:48 99

转载 JVM堆内存详解

一、简介JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。先看下JAVA堆内存是如何划分的,如图:JVM内存划分为堆内存和非堆内存,堆内存分为年轻代(Young Generation)、老年代(Old Generation),非堆内存就一个永久代(Permanent Generation)。 年轻代又分为Eden和Survivor区。Survivor区由FromSpace和ToSpace组成。Ede

2020-11-01 21:35:28 212 1

转载 Java内联函数

内联函数在说内联函数之前,先说说函数的调用过程。调用某个函数实际上将程序执行顺序转移到该函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到 转去执行该函数前的地方。这种转移操作要求在转去前要保护现场并记忆执行的地址,转回后先要恢复现场,并按原来保 存地址继续执行。也就是通常说的压栈和出栈。因此,函数调用要有一定的时间和空间方面的开销。那么对于那些函数体 代码不是很大,又频繁调用的函数来说,这个时间和空间的消耗会很大。那怎么解决这个性能消耗问题呢,这个时候需要引入内联函数了。内联函数就是

2020-10-30 16:36:25 142

转载 java中有没有指针

学过c/c++,然后学java的人往往心中有此纠结,java中到底有没有指针?如果一定要在是或否里选择一个,OK,java中没有指针。那么,java中的引用(reference)和c/c++中的指针(如无特别说明,后文指针均指c/c++中的指针)究竟有着什么样纠葛不清的关系呢?在开始之前先说一下c/c++的引用,它跟java的引用完全不是一个东西,c/c++的引用是同一块内存的不同名字。而java的引用是指向一个对象,引用本身也占用了内存。首先,列举一下能对指针进行的一些常见操作:1、指向一个

2020-10-29 18:59:41 157

转载 MyBatis xml配置文件详解

一、MyBatis 配置文件基本结构在使用mybatis框架时,首先导入其对应的jar包,并进行相应的配置,所以得对配置文件的每个参数都得了解。一个完全的mybatis配置文件结构如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.

2020-10-15 22:48:36 194

转载 【Spring Boot 23】MyBatis事务管理

一、概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Data Objects)支持声明式事管理,特别是基于注解的声明式事务管理,简单易用提供比其他事务API如JTA更单的编程式事务管理API与s

2020-10-15 00:21:01 149 1

原创 STS安装 Maven

一、Maven环境搭建1、Maven下载和修改配置登录官网自行下载。2、解压到D盘根目录下3、在maven解压目录同一级,建立repository本地仓库目录4、修改maven的核心配置,打开maven安装目录下conf/settings.xml二、在STS(或者eclipse)工具中集成maven插件1、打开开发STS(或eclipse)工具,在菜单栏选择window–preferences–maven2、配置本地Maven环境...

2020-10-15 00:10:59 137

原创 Java面试题总结(基础面试题完结版,2020-10-13)

一、迭代器 Iterator 是什么?二、Iterator 怎么使用?有什么特点?三、Iterator 和 ListIterator 有什么区别?四、怎么确保一个集合不能被修改?五、队列和栈是什么?有什么区别?六、既然提到可以通过配置不同参数创建出不同的线程池,那么 Java 中默认实现好的线程池又有哪些呢?请比较它们的异同七、如何在 Java 线程池中提交线程?八、什么是 Java 的内存模型,Java 中各个线程是怎么彼此看到对方的变量的?九、既然 volatile 能够保证线程间的变量

2020-10-14 23:51:09 226

转载 工作了4年的JAVA程序员应该具备什么技能?

前言近期找了一份新的工作,用到的技术栈很简单,难的是日语和逻辑,难的我有点怀疑人生,此时,我在思考,思考工作将近4年的Java程序员,到底应该具备什么样的技能,才能不被这个社会淘汰。语言?比如日语?语言表达能力?还是Java技术的能力?人的精力是有限的,我已不再年轻,有的时候也很纠结,为了更好的发展,是学习日语?还是应该学习技术?还是语言表达,业务分析能力?这好像有点幼稚,为什么不能全学的,应该全学,但随着岁月的蹉跎,我发现我精力不够了,好几次到晚上10点多钟,眼睛睁不开了,乏了,干不动

2020-10-11 22:06:54 234 1

原创 Java面试题总结(乱序版,2020-09-29)

一、哪些集合类是线程安全的?二、Java 中的线程池是如何实现的三、创建线程池的几个核心构造参数?四、线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?五、spring mvc 和 struts 的区别是什么?六、get 和 post 请求有哪些区别?七、设计一个 ATM 机,请说出你的设计思路?八、请举例解释@Required 注解?九、请举例解释@Autowired 注解?十、请举例说明@Qualifier 注解?十一、如何使用 Spring Bo

2020-10-11 21:43:33 254 2

原创 MyBatis常用标签和注解(绝对经典)

一、顶级标签1、sql– 可被其他语句引用的可重用语句块<sql id="valid"> where valid = 1 </sql> <select id = 'queryUser'>select * from user <include refid = 'valid'></include>2、insert– 映射插入语句<insert id = "saveUser">insert into User (i..

2020-09-29 20:59:53 229

原创 HashMap转JavaBean

一、HashMap转JavaBean1、方式一//把Map转化为JavaBeanpublic static <T> T map2bean(Map<String,Object> map,Class<T> clz) throws Exception{ T obj = clz.newInstance(); //从Map中获取和属性名称一样的值,把值设置给对象(setter方法) BeanInfo b = Introspector.getBeanInfo(cl.

2020-09-29 20:52:18 209

转载 Jsoup解析html

public class JsoupUtil { /** * 获取value值 * * @param e * @return */ public static String getValue(Element e) { return e.attr("value"); } /** * 获取 * <tr> * 和 * </tr> * 之间的文本 * * @param e * @return */ public .

2020-09-29 20:39:38 153

转载 反射工具类

package test.dynamicToBean;import java.lang.annotation.Annotation;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.lang.reflect.Modifi.

2020-09-29 20:28:35 127

原创 Java面试题总结(乱序版,2020-09-19)

一、在 Queue 中 poll()和 remove()有什么区别?二、如何让 Java 的线程彼此同步?你了解过哪些同步器?请分别介绍下。三、CyclicBarrier 和 CountDownLatch 看起来很相似,请对比下呢?四、如果客户端禁止 cookie 能实现 session 还能用吗?五、OSI 的七层模型都有哪些?六、在 Java 中,为什么不允许从静态方法中访问非静态变量?七、如何向 Spring Bean 中注入一个 Java.util.Properties?

2020-09-29 08:33:32 1125 4

原创 SpringBoot启动类中注入service

package com.panasonic.mes.jiasai.util;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereotype.Component;@.

2020-09-27 20:42:37 497 5

空空如也

从开源中国搬至CSDN的原创博客,没有原创积分吗

发表于 2020-02-11 最后回复 2020-02-11

怎么才能关闭搬家的同步问题,现在不想同步了,搬家了连积分都没有

发表于 2020-02-11 最后回复 2020-02-11

转战CSDN,初心不改

发表于 2020-01-19 最后回复 2020-02-11

回归CSDN

发表于 2019-06-24 最后回复 2020-02-11

困了,发张自拍

发表于 2019-06-25 最后回复 2020-02-11

开源中国与CSDN该用哪个?

发表于 2019-06-25 最后回复 2020-02-11

HTML5 data- 自定义属性

发表于 2017-08-25 最后回复 2020-02-11

jquery操作select2控件

发表于 2017-08-25 最后回复 2020-02-11

空空如也

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

TA关注的人 TA的粉丝

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