自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

i_code

小白蜕变计划

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

转载 设计模式六大原则

全文摘自: Night Field’s Blog1 概述在面向对象的编程中,要实现一个功能,可以有非常多的方式。在多年的经验积累总结下来,人们发现优秀的的代码总是遵循一定的范式。其中23种设计模式(Design Patterns),就是前人对优秀代码的编程范式的总结,是面向对象编程的最佳实践。合理地运用这些设计模式,已经是写出高质量,高效率,可读性强,易维护的代码的充要条件。而设计模式的六大原则,则是设计模式都会遵守的通用法则。本文将结合简单的例子,介绍这六大原则。2. 六大原则2.1 依赖倒置原

2020-12-26 15:09:21 146

转载 HashMap 与HashTable的区别

HashMap 与HashTable的区别HashMap与Hashtable的区别是面试中经常遇到的一个问题。这个问题看似简单,但如果深究进去,也能了解到不少知识。本文对两者从来源,特性,算法等多个方面进行对比总结。力争多角度,全方位的展示二者的不同,做到此问题的终结版。0x01. 作者Hashtable的作者:HashMap的作者:Hash Map的作者比Hashtable的作者多了著名顶顶的并发大神Doug Lea。他写了util.concurrent包。著有并发编程圣经Concurre

2021-04-16 21:41:09 570

原创 多态的本质

众所周知,Java有三大特性,封装,继承,多态,封装解决了数据的安全性问题,封装解决了代码的重用问题,多态解决了程序的扩展问题,今天我们就来剖析java基础核心机制之多态,了解什么是多态,以及多态的类别以及构成动态多态的条件.要理解多态,不妨我们来举一个例子,比如我们家养了一只宠物,它的名字叫毛毛,根据这段信息来看的话并不能得出这只毛毛是个什么动物,但是如果说它是发出喵喵喵的叫声,那么根据这个信息我们不难判断毛毛是一只猫咪,如果说它是汪汪的叫那么也很容易判断出它是一只宠物狗,所以从上述例子可以看出,要从普

2021-04-12 15:37:32 981

原创 Spring事务什么时候会失效

spring事务的原理是AOP,进行了切面增强,那么失效的根本原因是这个AOP不起作用!常见情况如下几种1、发生是调用,类里面使用this调用本类发方法(this通常省略),此时这个this对象不是代理类,而是UserService对象本身!解决办法很简单,让那个this变成UserService的代理类即可!2方法不是public修饰的@Transactional 只能用于public 的方法否者事务不会生效,如果要用在非public 方法上,可以开启AspectJ 代理模式3、数据库不支持事

2021-04-03 20:30:23 1419

原创 重定向与请求转发的区别及什么时候使用

重定向与请求转发的区别及什么时候使用一、请求转发与重定向区别重定向:1.可以理解为是客户端行为,客户端发起一次请求,服务器端给出一次响应,但这个响应包含下一次客户端需要访问的服务器端处理程序的地址,客户端再次发起请求,将会得到处理结果,也就意味着重定向客户端至少发起两次请求2.当使用了重定向跳转页面后,在其客户端路径栏显示的应该是其重定向的路径,客户端是可以观察到页面地址变化的,重定向是客户端至少做了两次访问请求的请求转发:1.可以理解是服务器端行为,客户端发起一次请求,这个请求在整个服务器端

2021-04-01 20:48:15 813

原创 Spring引入多个XML配置文件

在开发JavaWeb项目时,当在项目中使用Spring框架,同时拥有多个Spring配置文件时,如下图:那么在web.xml配置文件中该如何引入多个Spring配置文件来初始化Spring容器,下面介绍三种方法:方式一:在web.xml中通过 标签引入中使用/*符号。<!-- 自定义Spring主配置文件的位置 --><context-param> <param-name>contextConfigLocation</param-name>

2021-03-31 15:58:31 429

原创 feign远程调用丢失请求头信息

feign 远程调用丢失请求头信息feign 远程调用丢失请求头信息(cookie)那么什么情况下会发送请求头丢失的问题呢从源码上分析feign 远程调用丢失请求头信息(cookie)Feign远程调用,核心就是通过一系列的封装和处理,将以JAVA注解的方式定义的远程调用API接口,最终转换成HTTP的请求形式,然后将HTTP的请求的响应结果,解码成JAVA Bean,放回给调用者。下面是的流程图;那么什么情况下会发送请求头丢失的问题呢例如现在有两个微服务A、B, 客户端给A发请求,A收到发来的请

2021-01-26 19:33:28 602

原创 Docker+es+kibana的坑

解决Docker 安装Kibana启动成功但kibana server is not ready yet首先等待一下kibana启动,有可能是服务还在启动中,如果长时间等待还是不行那就应该是安装部署时的配置问题安装ElasticSearchdocker pull elasticsearch:7.4.2 docker pull kibana:7.4.2 mkdir -p /mydata/elasticsearch/pluginsmkdir -p /mydata/elasticsearch/con

2020-11-25 20:19:56 350

原创 巧记方法方法重写

巧记方法方法重写方法的重写( override )两同两小一大原则:方法名相同,参数类型相同;子类返回类型小于等于父类方法返回类型;子类抛出异常小于等于父类方法抛出异常;子类访问权限大于等于父类方法访问权限;...

2020-09-18 14:53:17 126

原创 设计模式01(单例模式)

单例的7种实现TYPE01-- 饿汉式(静态变量)public class SingletonTest01 { public static void main(String[] args) { //测试 for (int i = 0; i < 10; i++) { new Thread(() -> { Singleton instance = Singleton.getInstance();

2020-09-13 01:34:42 81

原创 JVM日记本

学习JVM的第二天根据老师讲义和资料绘制了一个思维导图。明天就继续冲第二部分,运行时数据区。https://www.processon.com/view/link/5f5911147d9c08028bdf35a4冲冲冲

2020-09-10 01:45:21 64

原创 Caused by: org.yaml.snakeyaml.error.YAMLException:

Spring Boot 踩过的坑(一)[main] DEBUG org.springframework.boot.context.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath:...Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Inp

2020-09-06 22:59:34 775

原创 debug 找不到源代码 && Edit Source Lookup Path解决方案

我看了大多数博客下面的评论大多数的朋友都都没有得到具体的解决,我今天也遇到了同样的问题,调试tomcat 的debug时死活进不了源码。试过了网上的方法也没用。不过最后还是正常运行了,下面分享一下我找出问题的过程,==================最近在学习springMVC的源码,说以要就要遇到debug调试,当我run as debug时给了我一个这样的窗口,起初我还感到奇怪我不是已经关联了源码了嘛?没办法咱也不知道为什么,应该是run as debug可run as applicati

2020-08-11 12:58:00 1057

原创 spring修行之路(二)

第2章 IOC容器和Bean的配置2.1 IOC和DI2.1.1 IOC(Inversion of Control):反转控制在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取所需要的资源,在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式,增加了学习成本,同时降低了开发效率。反转控制的思想完全颠覆了应用程序组件获取资源的传统方式:反转了资源的获取方向——改由容器主动的将资源推送给需要的组件,开发人员不需要知道容器是如何创建资源对象的,只需要提供接收资源的方式即可,极

2020-08-04 18:18:51 108

原创 spring的修行之路(一)

哎。终于过来javaWeb阶段了,是时候接触一些开发框架发面的的知识了,我先是去翻了一下博客和知乎,发现当下最主流的框架是ssm。于是收集了一些近年的视频就开始学习,首先是spring框架。第0章 简单了解框架框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。框架是对特定应用领域中的应用系统的部分设计和实现的整体结构。因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉

2020-08-04 11:55:27 107

原创 Spring-4.1.0jar+源码+javadoc,不骗积分。

明明是开源的搞得小白的都要积分换。真的不知道说什么。一群骗分的。链接:https://pan.baidu.com/s/1dDSPaSoFUCixmBn-36tSzA提取码:dnsm

2020-08-03 15:14:57 142

原创 Java反射 + 浅谈动态代理

当了那么久的小白,今天我也来点干货。保姆级反射浅谈什么是反射个人对`Class`类的理解获取类的类对象的三种方式通过反射获取类的所有属性、方法和构造器通过反射的方法赋值方法一(反射调用构造器setXxx方法)方法二(Method反射调用自身)方法三(暴力法)浅谈静/动态代理(下回分解)什么是反射JAVA反射机制是在运行状中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。个

2020-07-29 00:16:56 116

原创 简单理解 函数的值传递和引用传递

JAVA传递参数有两种方式:值传递,值传递是传递数据引用传递,引用传递是把形参和实参的指针指向了堆中的同一对象我们先来看值传递public class ValuePass { public static void main(String[] args) { int value = 100; testValue(value); System.out.println("值传递之后"+value); } private static void testValue(int v

2020-05-27 15:07:48 396

原创 简单理解 + 的优先级大于 == !=

为方便大家理解请先思考这个表达式计算结果是什么?是 false 还是 s1 == s2 is:true 呢?public class Test { public static void main(String[] args) { String s1 = "i code"; String s2 = "i code"; System.out.println("s1 == s2 is:" + s1 == s2); }}没错!结果的是 f

2020-05-26 16:30:13 739

原创 Java 8大基本数据类型及其默认值

Java 8大基本数据类型及其默认值若类的某个成员是基本数据类型,即使没有进行初始化, Java也会确保它获得一个默认值,如下表所示:基本类型默认值booleanfalsechar‘\u0000’ (null)byte(byte) 0short(short) 0int0long0Lfloat0.0fdouble0.0d...

2020-05-22 19:27:31 870

原创 Java 对象的创建和生命周期

在使用对象时,最关键的问题之一便是它们的生成和销毁方式。每个对象为了生存都需要资源,尤其是内存。当我们不再需要一个对象时,它必须被清理掉,使其占有的资源可以被释放和重用。在相对简单的编程情况下,怎样清理对象看起来似乎不是什么挑战:你创建了对象,根据需要使用它,然后它应该被销毁。然而,你很可能会遇到相对复杂的情况。 例如,假设你正在为某个机场设计空中交通管理系统(同样的模型在仓库货柜管理系统、录像带出租系统或宠物寄宿店也适用)。一开始问题似乎很简单:创建一个容器来保存所有的飞机...

2020-05-09 13:56:36 355

原创 Mysql入门笔记

Mysql笔记List item欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全...

2020-05-05 14:48:19 201

空空如也

空空如也

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

TA关注的人

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