12 2020 档案

摘要:云原生是当下的热点话题,但是很多人对云原生有很多误解,特别是传统产业物联网或工控、物联网行业对云原生显得"后知后觉"。与其在这里说是预测,不如说是现在进行时,只是由于传统产业本身的技术包袱和组织个人认识程度差异,目前发展并不见快。目前大部分的系统还是停留在旧年代,只是不到火候,还没到尝鲜和推倒重来的 阅读全文
posted @ 2020-12-30 12:53 码农开花 阅读(230) 评论(0) 推荐(0) 编辑
摘要:零、开局 前两天我搞了两个每日一个知识点,对多线程并发的部分知识做了下概括性的总结。但通过小伙伴的反馈是,那玩意写的比较抽象,看的云里雾里晕晕乎乎的。 所以又针对多线程底层这一块再重新做下系统性的讲解。 有兴趣的朋友可以先看下前两节,可以说是个笼统的概念版。 好了,回归正题。在多线程并发的世界里sy 阅读全文
posted @ 2020-12-29 19:13 码农开花 阅读(220) 评论(0) 推荐(0) 编辑
摘要:一切抛开业务的设计,都是扯淡!在项目中有个我们会对多个接口进行多业务逻辑判断,项目开始工期紧,所以先以实现功能为主,最近打算优化一番,一开始的代码是这样的 public void checkProjectAdd(List<OrderDetail> list) { if (!CollectionUti 阅读全文
posted @ 2020-12-29 19:06 码农开花 阅读(198) 评论(0) 推荐(0) 编辑
摘要:1.0 分布式事务概述 2018-02-05 02:05:26 32,685 16 1、事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成。事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个 阅读全文
posted @ 2020-12-29 18:56 码农开花 阅读(436) 评论(0) 推荐(0) 编辑
摘要:一、读写锁简介 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操作了。 针对这种场景,JAVA的并发 阅读全文
posted @ 2020-12-28 20:05 码农开花 阅读(480) 评论(0) 推荐(1) 编辑
摘要:在日常的开发工作当中,线程池往往承载着一个应用中最重要的业务逻辑,因此我们有必要更多地去关注线程池的执行情况,包括异常的处理和分析等。本文主要聚焦在如何正确使用线程池上,以及提供一些实用的建议。文中会稍微涉及到一些线程池实现原理方面的知识,但是不会过多展开。 线程池的异常处理 UncaughtExc 阅读全文
posted @ 2020-12-28 19:52 码农开花 阅读(174) 评论(0) 推荐(0) 编辑
摘要:正常情况下,在Java中入参是不建议用做返回值的。除了造成代码不易理解、语义不清等问题外,可能还埋下了陷阱等你入坑。 问题背景 比如有这么一段代码: @Named public class AService { private SupplyAssignment localSupply = new S 阅读全文
posted @ 2020-12-28 19:37 码农开花 阅读(264) 评论(0) 推荐(0) 编辑
摘要:高并发场景下锁的使用技巧 如何确保一个方法,或者一块代码在高并发情况下,同一时间只能被一个线程执行,单体应用可以使用并发处理相关的 API 进行控制,但单体应用架构演变为分布式微服务架构后,跨进程的实例部署,显然就没办法通过应用层锁的机制来控制并发了。那么锁都有哪些类型,为什么要使用锁,锁的使用场景 阅读全文
posted @ 2020-12-18 12:30 码农开花 阅读(506) 评论(0) 推荐(0) 编辑
摘要:1.1 索引的介绍 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。 索引的一个主要目的就是加快检索表中数据的方法,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID 阅读全文
posted @ 2020-12-16 17:51 码农开花 阅读(205) 评论(0) 推荐(0) 编辑
摘要:一、String类 想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码: public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** 阅读全文
posted @ 2020-12-15 19:40 码农开花 阅读(209) 评论(0) 推荐(1) 编辑
摘要:1.1 MHA简介 1.1.1 MHA软件介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高 阅读全文
posted @ 2020-12-14 19:09 码农开花 阅读(353) 评论(0) 推荐(0) 编辑
摘要:前言 由于性格原因,笔者很难沉下心来进行严肃的系统学习,总是喜欢折腾一些奇淫技巧,非常喜欢代码设计,扣代码的细节,所以本次分享一下我所知道的如何写最少的代码的小技巧,如果你有更好的方案,欢迎在评论区留言,方案很棒的话,加我微信,为你送上冬天的一杯奶茶~ Java:我想返回多个返回值 秀一下Go的多返 阅读全文
posted @ 2020-12-14 17:52 码农开花 阅读(202) 评论(0) 推荐(0) 编辑
摘要:1.1 前言 在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。更多关于MySQL查询相关参照:http://www.cnblogs.com/clsn/p/8038964.html#_label 阅读全文
posted @ 2020-12-14 13:01 码农开花 阅读(253) 评论(0) 推荐(0) 编辑
摘要:经常有同学问我,我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。 另外插入一个题外话,个人认为团队要合理的使用ORM,可以参考 ORM的权衡和抉择。合理利用的是ORM在面向对象和写操作方面的优势,避免联合查询上可能产生的坑(当然如果你的Li 阅读全文
posted @ 2020-12-12 13:57 码农开花 阅读(650) 评论(0) 推荐(0) 编辑
摘要:1.问题 1、何为分布式何为微服务? 2、为什么需要分布式? 3、分布式核心理论基础,节点、网络、时间、顺序,一致性? 4、分布式是系统有哪些设计模式? 5、分布式有哪些类型? 6、如何实现分布式? 2.关键词 节点,时间,一致性,CAP,ACID,BASE,P2P,机器伸缩,网络变更,负载均衡,限 阅读全文
posted @ 2020-12-05 20:55 码农开花 阅读(683) 评论(0) 推荐(0) 编辑
摘要:如今,缓存系统的应用非常广泛,能够用来提高并发数、数据吞吐量,提高快速响应能力。那么当数据量达到一定程度,单机环境可能就显得有些力不从心了,就需要一个分布式缓存系统。 1. 缓存系统的选择 1.1 缓存分类 如上图所示,首先缓存大致可以分为四大类。 CDN 缓存:CDN 即内容分发网络,CDN 边缘 阅读全文
posted @ 2020-12-05 20:40 码农开花 阅读(363) 评论(0) 推荐(0) 编辑
摘要:关于Redis高可用方案,看到较多的是keepalived、zookeeper方案。keepalived是主备模式,意味着总有一台浪费着。zookeeper工作量成本偏高。 本文主要介绍下使用官方sentinel做redis高可用方案的设计。 阅读目录: Redis Sentinel 故障转移消息接 阅读全文
posted @ 2020-12-04 18:39 码农开花 阅读(242) 评论(0) 推荐(0) 编辑
摘要:其实项目网上有很多了,但是教程比较详细的没多少,今天分享的项目从安装部署到代码具体功能都有很详细都说明 eladmin 是一款基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue 的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 阅读全文
posted @ 2020-12-04 15:08 码农开花 阅读(370) 评论(0) 推荐(0) 编辑
摘要:前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 泛型带来的好处 在没有泛型的情况的下,通过对类型 Object 的引用来实现 阅读全文
posted @ 2020-12-01 13:09 码农开花 阅读(903) 评论(0) 推荐(0) 编辑