![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
杂篇感悟
锐rui3g
总结一些自己用过的以及遇到的一些坑
展开
-
又一年1024
又一年的1024,好久没有分享知识。原创 2022-10-24 16:55:52 · 160 阅读 · 2 评论 -
1024节留文纪念
1024留念。加油同胞们!原创 2021-10-24 11:54:16 · 148 阅读 · 0 评论 -
java基础问题(八)
1.用过哪些设计模式详情见Java基础问题(四)2.通信协议TCP/IP,socket,报文,mqtt,…3.分布式锁为了保证一个方法或属性在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用情况下,可以使用Java并发处理相关的API(如ReentrantLock或Synchronized)进行互斥控制,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,为了解决这个问题就需要一种跨JVM的互斥机制来控制共享资源的访问,这就是分布式锁要解决的问题原创 2021-08-30 11:41:43 · 180 阅读 · 0 评论 -
java基础问题(七)
1.list,maplist可重复,无序,map不可触重复2.lamda表达式原理1>在类编译时,会生成一个私有静态方法+一个内部类;2>在内部类中实现了函数式接口,在实现接口的方法中,会调用编译器生成的静态方法;3>在使用lambda表达式的地方,通过传递内部类实例,来调用函数式接口方法。3.sql优化详情见博客 “java基础问题(三)” sql优化。4.绑定变量绑定变量:硬解析和软解析。绑定变量是解决硬解析的利器。硬解析:就是一条没有执行过的sql。数据库首先对原创 2021-08-27 17:17:16 · 139 阅读 · 0 评论 -
Java基础问题(六)
1.list排序方式一:List<Student> list = Lists.newArrayList();list.sort(comparing(Student::getScore));方式二:List<Student> list = Lists.newArrayList();list.stream().sorted(Comparator.comparing(Student::getId));2.string和stringBuffer的区别String:是对象原创 2021-08-24 22:31:34 · 175 阅读 · 0 评论 -
java基础问题(五)
1.对saas的理解SaaS是Software-as-a-service(软件即服务),是一种基于互联网提供软件服务的应用模式,自己开发软件就相当于自建房,传统买软件就相当于买房,SaaS就相当于是租住公寓。SaaS并不是指代一个行业或者一种技术,它是一种2B的专业型软件租赁使用模式。优点:采用云服务,客户不需要自己部署服务器;网上下载即装即用,无需专门部署安装。使用成本极低,再小的公司也用得起;快速部署应用,使用效率高;后续维护、更新升级不产生额外费用。2.springboot的理解使用原创 2021-08-23 19:46:29 · 129 阅读 · 0 评论 -
java基础问题(四)
1.做过的项目用到过哪些设计模式,(最好了解一下设计模式的概念)工厂模式:普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。多个工厂方法模式,是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式是提供多个工厂方法,分别创建对象。静态工厂方法模式,将上面的多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代原创 2021-08-18 16:01:16 · 91 阅读 · 0 评论 -
java基础问题(三)
1.有一个数A,一个数B,一个数c,第一次ABC一次存入,并记录存入次数,第二次,后面依次记录使用次数,要求将最久的,使用次数最少的,在达到1000条数据后,删除。1>(无脑解)创建一个全局map集合,将数和时间,按时间存入,达到1000后进行,时间戳对比,以及相同次数对比。2>使用三个全局list,统计次数各个使用次数,最近使用时间,每次使用更新时间,当总和达到1000次后做时间对比和使用次数对比并删除。(期望后续补充,来几个最优解)2.sql优化1> 查询优化:建立索引,应尽原创 2021-08-17 18:19:59 · 144 阅读 · 0 评论 -
java基础问题(二)
1.栈和消息队列的区别栈先进后出,消息队列先进先出,栈的性能比较低,而消息队列性能比较高,栈是限定只能在表的一端进行插入和删除操作的线性表。队列是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。栈只能从头部取数据,也就最先放入的需要遍历整个栈最后才能取出来,而且在遍历数据的时候还得为数据开辟临时空间,保持数据在遍历前的一致性。队列则不同,它基于地址指针进行遍历,而且可以从头或尾部开始遍历,但不能同时遍历,无需开辟临时空间,因为在遍历的过程中不影像数据结构,速度要快的多ps: 消息队列原创 2021-08-17 12:30:19 · 118 阅读 · 0 评论 -
分布式事务Seata的原理总结
一、分布式事务简介分布式事务有各种实现方案,不过大体可分为两类,一种不需要关注事务分支与全局事务的交互过程。另一种是将逻辑拆分成三个部分准备、提交、回滚,分支事务加入全局事务。这两种在Seata里前者称为AT模式,后者称为MT模式。二、内容1.分布式事务数据库操作型MySQL XA方案 是其中一种,这种的话是直接作用于数据库。其中RM执行本地事务提交与回滚;TM 是分布式事务核心管理。缺点的话,一是不适用于微服务,二很明显由于每次操作不提交,最后导致数据未提交越来越多时候,性能就不是很好了。那么原创 2021-07-14 17:55:19 · 3488 阅读 · 1 评论 -
saas平台核心之多租户
1.多租户概念什么是多租户?多租户是一种概念,也是一种解决方案,在saas平台化中,我们所做的功能已经不是针对甲方而言了,而是在自己运营之内,产生的一种提供服务的项目,俗称产品,互联网公司,从电商平台,各种app等等这些主要为用户提供体验的产品概念,衍生到企业级项目中时出现的一种软件化平台,saas化,saas化让原本的甲方转变成了用户,saas化最重要之一就是用户在使用服务时的数据隔离问题,多租户的使用实际上也是一种经济的解决方案,由于共享开发的服务和维护的成本,导致一个平台在多租户的情况下可以多个人使原创 2021-02-27 17:11:28 · 1412 阅读 · 3 评论 -
双十一接触的项目那些事
说实话,这篇文章和代码技能没有关系,只是关乎点项目工程的问题。今天是双十一,从经理那边了解到了一些关乎项目的事情,于是过来分享分享。我们一直在写代码,不了解代码,项目之外的事情,比如工期到了如何如何,交付了如何如何,说实话作为程序员一直认为这不是自己职业内的事情。不过今天了解了点就要说一说,结一结。经理说,项目到了演示时候一般重视的是那几个比较出彩的亮点,以及关联亮点的流程。至于其他的功能。观看演示的是不会去观摩的。一般来说,每个项目,应该是有个监理,在交付项目时,拿着清单来验收,实现一下划一下。不过对原创 2020-11-11 16:36:29 · 217 阅读 · 5 评论 -
国庆后工作感想
回想国庆之前,还在搞着数据库设计的事情,一眨眼,国庆长假就完了,刚到公司有一种将技术和能力还给老师的感觉,从19年12月实习到现在工作已经过去10个多月了,一眨眼的功夫,对于我来说实习是我进步最快的地方,那段时间只要闲着,就看博客,练题,写代码。也许就是真理性的成果,努力就有收获,当初确实收获了很多,我碰到了个比较好的带我的人,十分感谢,就教给我处理的那一段代码让我在之后的项目里,在业务逻辑的处理上到现在都没卡着过我,十分幸运,遇到了良师。说来也奇怪,自从我毕业正式进入一家普普通通的公司工作后,我的技术和原创 2020-10-09 09:53:38 · 429 阅读 · 1 评论 -
写代码时论数据结构的重要性(自我小结)
论数据结构的重要性关于数据结构的重要性,在我入行8个月的时候,我才发现,代码想写的好数据结构的应用是必不可少的,在我刚刚学会增删改查,能做项目时,我并没有意识到,并发,性能和数据量的问题。说白了就是感觉项目不就crud吗,其实要想让一个项目能稳定的运行不止这些,由于我的学识比较浅薄,说的估计还差很多,只不过我想将自己又上一个阶层所看到和所感想的总结下来,以便日后印证,成长,希望大佬们别被我这幼稚的见识吓到。当我能独立完成简单项目时,其实我就意识到个问题,频繁的操作数据库是不怎么好的,比如用一些笨办法一原创 2020-08-08 16:59:56 · 366 阅读 · 0 评论