自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

智欣约的博客

个人感想天地

原创 英语学习之国际礼仪 日常用语

英语国际礼仪中日常交际场景应用: 1、有朋友从外地归来,正确的问候礼仪是: Did you have a good trip? Did you enjoy your trip? 2、日常见面打招呼: Hello / Hi Good morning / Good afernoon Ni...

2020-04-06 10:50:44 72 0

原创 java并发和高并发之线程池

一、 二、线程池使用:

2020-03-12 00:07:59 71 0

原创 java并发和高并发之服务降级与熔断

服务降级和服务熔断都是从应用层面,或者说服务层面, 一、服务降级指的是,通过页面、服务等有策略地进行服务降级,尽可能正确地响应大部分用户的请求。通俗来说,就是如果无法 处理该问题时,给一个默认结果。 1、常见的降级方案: 1)自动降级: 》超时:主要为配置好超时时间和超时重试次...

2020-03-11 22:17:21 166 0

原创 java并发和高并发之应用限流

一、限流,通俗说即限制请求访问的数量,防止某个时间点,或者短时间内,有大量的请求访问后台服务器或者数据库。比如常见 的电商情景下的抢购、秒杀活动。 如上图所示,直接的方案,就是不做任何限流处理时的情况,下方恒定速率指的即是经过限流后的效果。 二、常见的限流方案有: 限制总的并发数: ...

2020-03-11 19:27:08 91 0

原创 学习SSM框架做仿照大众点评的web项目所需考虑细节记录

一、

2020-03-02 20:20:35 112 0

原创 SpringBoot项目练习问题记录

理论和实践总是有差距的,spring boot实战开始 一、前提:根据网址http://www.ityouknow.com/springboot/2016/01/06/spring-boot-quick-start.html开启springboot的练习 二、问题记录: 1、打开https:...

2020-02-27 22:57:28 135 0

原创 JVM内存管理

• 传统程序语言:由程序员手动内存管理 –C/C++,malloc申请内存和free释放内存 –由于程序员疏忽或程序异常,导致内存泄露 • 现代程序语言:自动内存管理 –Java/C#,采用内存自动管理 –程序员只需要申请使用,系统会检查无用的对象并回收内存 –系统统一管理...

2020-02-03 22:37:03 58 0

原创 jvm概述学习笔记

本资料源于网络课程:https://www.icourse163.org/learn/ECNU-1206500807?tid=1206823217#/learn/content?type=detail&id=1214301007&cid=1217866122 虚拟机:VM,Vir...

2020-02-03 22:04:02 52 0

原创 新购买完阿里云ecs服务器后参考的文档

一、如何安装配置jdk tomcat https://blog.csdn.net/u014712516/article/details/78815113 二、如何安装配置mysql 以及mysql无法登陆等详情过程的文章 https://blog.csdn.net/li_Dijkstra/a...

2020-01-29 20:19:13 164 0

原创 java并发和高并发——J.U.C之AQS-CountDownLatch

一、 1、简要介绍该类的使用原理图: CountDownLatch是一个同步辅助类,利用它可以完成类似于阻塞当前线程的功能。换句话说,就是一个或者几个线程一直等待,直到其它的线程运行完成。CountDown用了一个给定的计数器进行初始化,该计数器的操作是原子性的操作。同一个时刻只能有一个线...

2019-10-07 00:06:05 48 0

原创 java并发编程和高并发——J.U.C之AQS首要概述

一、J.U.C之AQS介绍: 1、概述:J.U.C表示jdk中java.util.concurrente包里的内容,是从jdk6中引入的java并发包。J.U.C大大提高了java程序的并发性能。 而AQS被认为是J.U.C的核心,指AbstractQueuedSynchronizer 的缩写...

2019-10-06 16:06:17 83 0

原创 java并发和高并发之线程安全——同步容器

一、同步容器 1、同步容器出现原因: 因为ArrayList HashSet HashMap 这几个容器都是线程不安全的,但是使用频率又最为频繁。所以在使用多线程并发地访问这些容器时可能出现线程安全问题。因此要求开发人员在任何用到这些的地方需要做同步处理。如此导致使用时极为不便。对此,ja...

2019-10-05 23:51:12 55 0

原创 java并发和高并发编程之线程不安全类与写法

一、线程不安全类与写法: 1、相对于不可变对象和线程封闭带来的线程安全,什么是线程不安全类呢? 如果一个类的对象同时可以被多个线程访问,如果不做特殊的同步或者并发处理,那么它就很容易表现出线程不安全的现象。比如,抛出异常、逻辑处理错误等等。这种类被称为线程不安全类。 2、最常见的一些线程不...

2019-10-05 23:26:57 104 0

原创 java并发和高并发之线程封闭

一、线程封闭: 1、概述;线程安全策略,除了不可变对象,还有一个简单的方法就是线程封闭。线程封闭其实就是把对象封装到一个线程里,只有这一个线程能看到这个对象,那么这个对象本身就算不是线程安全的,也不会出现任何线程安全问题,因为它只能出现在一个线程里。 2、实现线程封闭的几个方法: 》Ad-h...

2019-10-05 21:16:32 64 0

原创 java并发编程和高并发之线程安全策略

一、不可变对象: 1、有一种对象,发布时就是安全的,这个对象就是不可变对象。 2、如果想创建一个不可变的类,可参考使用最多的String类。当满足以下三个条件时才会是不可变对象。 即不可变对象需要满足的条件: 》对象创建以后其状态就不能修改;——》声明为final 》对象所有域...

2019-10-05 18:26:38 51 0

原创 java开发编程入门与高并发之安全发布对象(八)

一、安全发布对象之发布与逸出: 1、基本概念: 》发布对象:使得一个对象能够被当前范围之外的代码所使用: 》对象逸出:一种错误的发布。当一个对象还没有构造完成时,就使它被其他线程所见。 2、实例演示: 1)发布对象: 如上例子的演示目的是: 说明 如上,这个类通过publi...

2019-10-05 00:17:21 46 0

原创 java并发和高并发之线程安全性——有序性

一、有序性: 1、定义:java内存模型JMM中,允许编译器和处理器对指令进行重排序,但是重排序过程不会影响到单线程程序的执行,却会影响到多线程并发执行的正确性。 2、可以通过如下方案保证有序性: volatile 关键字:保证一定的有序性 synchronized 和 Lock:保证每个...

2019-10-04 19:07:17 161 0

原创 java并发和高并发之线程安全性——可见性

一、可见性: 1、定义:线程对主内存的修改可以及时地被其他线程观察到; 2、导致共享变量在线程间不可见的可能性原因: 》线程交叉执行; 》重排序结合线程交叉执行; 》共享变量更新后的值没有在工作内存与主存间及时刷新; 3、不同解决方案对可见性的处理: 1)可见性——synchroni...

2019-10-04 18:40:04 131 0

原创 java并发和高并发之线程安全性—原子性 2—synchronized

一、原子性——锁 1、原子性就是提供了互斥访问,同一时刻只能有一个线程对它进行访问或者说操作.java中,除了jdk中的atomic包之外,还有锁。jjdk提供的锁主要有两种: 》synchronized 关键字: 依赖jvm. 在作用对象的作用范围内,可以保证在同一时刻只能有一个线程访问。注...

2019-10-04 18:15:50 49 0

原创 java并发和高并发之 线程安全性——原子性-atomic-1

一、线程安全性 1、基本概念: 》定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进行将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。 2、线程安全性的几个表现点: 》原子性:提供了互斥访问,同一时刻只...

2019-10-04 00:25:23 70 0

原创 java并发和高并发之项目准备(三)

一、案例环境初始化:讲述了通过https://start.spring.io 这个网页,简单创建一个spring boot框架,然后将其放在由码云代码托管工具管理的一个项目中,由码云进行代码管理,再通过idea打开项目进行后期创作的过程。借助几个工具,将环境搭建起来。 二、案例准备工作,其中提到...

2019-10-03 23:16:48 91 0

原创 java并发基础(二)

一、CPU多级缓存: 数据的读取和存储都经过高速缓存,CPU核心和高速缓存之间有一条快速通道,在上方简化的图中,主存和高速缓存都连接在系统总线上。 缓存容量远远小于主存, 一般二级缓存大于一级缓存容量,但速度比一级慢,三级缓存大于二级缓存,但是速度更慢。 1、为什么需要CPU cach...

2019-10-01 23:40:05 46 0

原创 java并发编程和高并发(一)

一、课程特点: 1、之相关知识体系包括: 线程安全、线程封闭、线程调度、同步容器、并发容器、AQS、J.U.C等等; 2、高并发解决思路与手段,包括: 扩容: 缓存: 队列: 拆分: 服务降级与熔断: 数据库切库: 分库分表: 等等; 3、 4、最简单的场景举例:...

2019-10-01 21:27:26 93 0

原创 史上最傻java代码记录

1、记录下最傻的一次代码书写: 因为部分原因,今天竟然书写了一段最傻的代码:在get()方法中调用了set() 方法! 程序运行时,画面直接崩溃! 打下错误日志,只是见到在快速重复打出找到信息失败的日志, 里面最后终于打出一些找到问题之后发现的,有些暗示的东西: at java....

2019-09-25 20:57:18 58 0

原创 java设计模式总结

UML基础、类图、时序图、类关系、记忆技巧 七大设计原则: 开闭原则 依赖倒置原则 单一职责原则 接口隔离原则 迪米特原则 里氏替换原则 合成复用原则 设计模式之 创建型: 工厂方法模式(常见) 抽象工厂模式(常见) 建造者模式(常见) 单例模式(常见) 原型模式 结...

2019-09-01 19:24:05 62 0

原创 java设计模式之状态模式

一、定义与类型: 》定义:允许一个对象在其内部状态改变时,改变它的行为。也就是说一个对象的状态改变时,其行为会改变。或者说 它的行为不跟者改变,而是状态之间的转化。用于解决当控制一个对象的状态转换的逻辑比较复杂时,这样就可以把状态判断的逻辑转移到表示不同状态的一系列类当中。比如在看视频时,可以...

2019-09-01 19:17:16 50 0

原创 java设计模式之访问者模式

一、定义与类型: 》定义:封装作用于某数据结构(如List/Set/Map等)中的各元素的操作 》可以在不改变各元素的类的前提下,定义作用于这些元素的操作。 》使用概率较低 》类型:行为型 二、适用场景: 》一个数据结构如(List/Set/Map等)包含很多类型对象; 》数据结构与...

2019-09-01 13:32:31 52 0

原创 java 设计模式之责任链模式

一、定义与类型: 》为请求创建一个接收此次请求对象的链。这个链条中,每个元素是一个对象。 》类型:行为型; 二、适用场景: 》一个请求的处理需要多个对象当中的一个或几个协作处理。 三、优点: 》请求的发送者和接收者(请求的处理)解耦。 》责任链可以动态组合。如果复杂一点,把责任链的顺...

2019-09-01 13:22:33 48 0

原创 java设计模式之中介者模式

一、定义与类型: 》定义一个封装一组对象如何交互的对象 》通过使对象明确地相互引用来促进松散耦合,并允许独立地改变它们的交互; 》类型:行为型 二、适用场景: 》系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱难以理解; 》交互的公共行为,如果需要改变行为则可以增加新的中介...

2019-09-01 00:08:16 57 0

原创 java设计模式之命令模式

一、定义与类型: 》定义:将“请求”封装成对象,以便使用不同的请求 把不同点请求封装成不同的请求对象,接收者都可以识别,执行不同的行为。比如老板给员工下不同的命令,员工都能接收并执行。 》命令模式解决了应用程序中对象的职责以及它们之间的通信方式;老板只负责下命令,不关心如何实现。员工只需要知...

2019-08-31 23:34:32 61 0

原创 java设计模式之备忘录模式

一、定义与类型: 》定义:保存一个对象 的某个状态,以便在适当的时候恢复对象 》后悔药 》类型:行为型; 二、适用场景: 》保存及恢复数据相关业务场景;比如一个软件的保存撤退功能,主要用于工作流中。 》后悔的时候,即想恢复到之前的状态; 三、优点: 》为用户提供一种可恢复机制; ...

2019-08-31 17:59:35 54 0

原创 java设计模式之观察者模式

一、定义与类型: 》定义:定义了对象之间的一对多依赖,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它的所有依赖者(观察者)都会收到通知并更新; 微信朋友圈点赞之后,你就是观察者,微信的那条朋友圈就是被观察者;京东上,关注某个商品,当商品降价时,会收到通知。 网络视频课,有人...

2019-08-31 16:47:26 46 0

原创 黑苹果自带的svn使用方法

黑苹果系统作为很多没有mac电脑的朋友带来了一丝安慰,虽然各种问题不断,比如之前老是黑屏等。 后来发现是没有设置电脑不休眠的缘故 今天要配置下svn,查完资料简单配置了下,然后将远程服务器上的文档拉到了本地,步骤倒是蛮简单,在此记录下: 1、创建一个欲存放文件的文件夹,命令如下: svna...

2019-08-28 10:48:51 89 0

原创 java设计模式之解释器模式

一、定义与类型: 》定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 》为了解释一种语言,二位语言创建的解释器。 》类型:行为型 二、适用场景: 》某个特定类型问题发生频率足够高; 一般使用开源包。 三、解释器模式优点: 》语法...

2019-08-25 14:24:55 59 0

原创 java设计模式之——策略模式

一、定义与类型: 》定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户。 》大范围处理掉if...else... 》类型:行为型 二、适用场景: 》系统有很多类,而它们的区别仅仅在于他们的行为不同; 》一个系统需要动态地在几种算法中选择一种...

2019-08-25 14:18:33 46 0

原创 数据传输结构Protobuf学习资料积累

一、原因:android项目中要用到底层底层给定的protobuf接口,但如何解析或者说如何使用不懂,故咨询一波。 二、已查到的相关资料: 1、定义:Protocol Buffers(也称protobuf)是google旗下一款独立于开发语言,独立于平台的可扩展的结构化数据序列机制。简单来说,...

2019-08-19 19:54:44 215 0

原创 java设计模式之迭代器模式

一、迭代器地定义与类型: 》定义:提供一种方法,顺序访问一个集合对象中的各个元素,而又不暴露该对象的内部表示 》比如一个箱子中有n台电脑,只是遍历其类型,并不暴露其他信息 》类型:行为型 二、适用场景: 》访问一个集合对象的内容而无需暴露它的内部表示 》为遍历不同的集合结构提供一个统一...

2019-08-18 23:25:22 52 0

原创 java设计模式之模板方法

一、模板方法定义定义与类型: 》定义:定义了一个算法的骨架,并允许子类为一个或多个步骤提供实现 》模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤 》类型:行为型 二、适用场景: 》一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。比如把大象装进 冰箱这...

2019-08-18 19:25:26 53 0

原创 java设计模式之——代理模式

一、定义与类型: 》定义:为其他对象提供一种代理,以控制对这个对象的访问; 》代理对象在客户端和目标对象之间起到中介的作用;例如:我们通过房产中介租房。 》类型;结构型 二、适用场景: 》保护目标对象。比如不知道真实房东是谁 》增强目标对象。控制客户端对目标对象的访问 租房前草拟合同...

2019-08-18 14:11:29 54 0

原创 java设计模式之桥接模式

一、桥接模式定义与类型: 》定义:将抽象部分与它的具体实现部分分离,使他们都可以独立地变化 》通过组合的方式建立两个类之间的关系,而不是继承 》类型:结构型 二、适用场景 》抽象和具体实现之间增加更多的灵活性 》一个类存在两个(或多个)独立变化的维度,且这两个(或多个)维度都需要独立 ...

2019-08-17 17:37:45 55 0

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