自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

岁月下的车辙

本人初学java,写文以勉己身

  • 博客(31)
  • 资源 (5)
  • 收藏
  • 关注

原创 从古板到智能:机器程序的华丽转身

通过上面的介绍,你应该知道为什么 ChatGPT 有这么牛逼了吧。优秀的算法,海量的数据和算力,才有了现在的 ChatGPT。所以有些不知道真相的国人,不要动不动就喷国内为什么没有 ChatGPT 这样的软件,这又不是小孩子过家家,再加上国内大厂的产品线太多,一时半会做不到 GPT 这么优秀很正常。其实国内很早就在发展这方面的内容了,本来估计要过个几年才出的,现在因为 ChatGPT 的横空出世,发现了人工智能的可落地性,不得已加快了这方面的进程,才有了现在的通义千问,讯飞星火,给国内厂商一些时间吧。

2023-05-29 11:34:07 194

原创 对于单点登录,你不得不了解的CAS

老余:上次你说到了CAS,你觉得CAS是什么?我:之前我们面试的时候,我讲了JWT单点登录带来的问题,然后慢慢优化,最后衍变成了中心化单点登录系统,也就是CAS的方案。CAS(Central Authentication Service),中心认证服务,就是单点登录的某种实现方案。你可以把它理解为它是一个登录中转站,通过SSO站点,既解决了Cookie跨域的问题,同时还通过SSO服务端实现了登录验证的中心化。这里的SSO指的是:SSO系统。

2023-02-06 16:35:02 1058 1

原创 面试系列:单点登录的知识(一)

这也太简单了。讲个自己的糗事,在我刚实习的时候,我曾经以为单点登录就是单用户登录,比如说我在一台手机上登录后,另一台手机再次登录就会把原先的那个给挤掉。因为这个在一次技术分享会上还出了大糗。实际上,单点登录是指在多个应用系统中,用户只需要登录任意一个系统,就可以访问其他的互相信任的系统。比如说我在天猫登录后,在浏览器上输入淘宝的域名,你就已经登录成功了。关于单点登录的内容,这一节就暂时到这啦。下一章我们来聊下这节末尾提到的CAS以及相似的Oauth2。

2023-01-14 21:25:30 1729

原创 什么神仙操作,用代码能画这样的图

本文介绍了如何使用Mermaid进行画图,除了上述的内容外,Mermaid还能支持更多类型的图,当然这些内容就需要大家去官网查看了。官网地址如果这篇文章对您有所帮助,可以关主《车辙的编程学习圈》,里面还有几十G的视频资料、电子书可以免费领取。我是车辙,掘金小册《SkyWalking》作者,一名常被HR调侃为XX杨洋的互联网打工人。A出门玩耍。

2023-01-08 13:02:32 1412

原创 前端菜鸟如何快速开发个人产品

前端菜鸟如何快速开发个人产品

2023-01-04 19:47:12 571

原创 密码加密,天经地义

虽然最后“赶高铁”以失败告终,却学到了不少技能,喜提N+1 失败,也算是值了。通过Jasypt对明文密码加密,项目启动时解密,最后把盐值存放到生产环境服务器中,大大降低了密码被盗的概率。不过如果服务器被攻破了,那就当我没说…对于代码中的密码安全问题,大家还是要严谨,不要等到发现了才改。第一是麻烦,因为要回归测试,最好在第一次上线时就改掉。第二是在领导眼里印象也不好,可能还会影响绩效。我是车辙,一名常被HR调侃为XX杨洋的互联网打工人,。有需要源码的同学在这点击领取。

2023-01-03 19:30:19 98

原创 IO模型讲解

1 前言对于网络中的IO模型,大多数人可能只是简单的了解下,而没有对于其进行深入的了解。该文章大致的讲解了java开发过程中 遇到的Io模型。2 BIO2.1 介绍阻塞性IO,这种模型会通过一个独立的线程进行监听,当客户端请求一个连接后,服务端会产生一个线程对请求进行处理,处理完成后,返回响应给客户端,最后进行销毁。同时,这种模型在线程进行处理请求时会阻塞当前线程,必须等...

2018-09-17 17:37:01 189 1

原创 CopyOnWriteArraylist的启发

之前看了这种典型的读写分离的集合类,自认为了解了。回首在看,其实有很多东西还都不了解。 先说下这个集合的功能作用。假设现在有两个线程,一个线程读取list的数据,另一个线程在线程一读取的过程中对list进行了添加。这时候如果是一般的ArrayList就有可能读取到添加的数据了。这在数据库中就是不可重复读了。为什么说有可能,而不是一定呢?自己去想!!! 数据库隔离级别链接 如果

2017-12-09 13:59:18 163

翻译 概括数字签名,数字证书,公钥和私钥的作用

将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。 将该报文摘要值用发送者的私人密钥加密,然后连同原报文一起发送给接收者,而产生的报文即称数字签名。 接收者尝试用公钥解数字签名,如果能解开,会得到摘要,说明是正确的人发送的。 接着用约定的算法对摘要进行解析,与上一步得到的

2017-12-06 11:27:15 2796

原创 理解spring中AutoWire,Reource,以及Service等注解

在Spring中由于xml配置的不方便,我们一般会采用注解提高开发速度。这次重点讲几个注解。Service注解: 在不指定bean的Id时,bean的Id首字母小写。例如:LoginService,他创建的bean就是loginService,当然也可以指定bean的Id。 这种场景一般是有多个Service实现了某个接口,那么注入的时候就不能用AutoWire了,而是用Resource(nam

2017-12-01 17:06:40 1158

原创 SpringWeb项目和SpringBoot微服务项目如何进行junit调试

spring web项目在junit测试类上添加 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={“classpath:/springContext.xml”}) 当然也可以选择添加其他的配置文件进行加载,例如: @ContextConfiguration(locations={“classpa

2017-12-01 16:50:25 2634

原创 dubbo+springboot+zookeeper

当前大数据环境下,由于业务愈发庞大,数据量高,导致分布式和集群使用的越来越多,这样就出现分布式,负载均衡和集群,消息队列等等名词。 springboot简化了spring配置文件繁琐的问题,更加快捷,内置servlet容器,支持restful风格。导致国内越来越多的公司开始使用springboot dubbo是一个分布式服务框架。记住一点,他只是个框架,具体用什么还是看业务或者公司的要求,

2017-11-28 18:51:41 257

原创 java算法篇之欧几里得算法

欧几里得算法:gcb(a,b)=gcb(b,a%b)  即求两个数的最大公约数。存在两个数:a,b,且a>b 。那么必有a=kb+r, 所以r=a%b;假设两个数的最大公约数为d,则r=xd-ykd   -》r=(x-yk)*d  。可以得出d必是r的公约数。因为r=a&b 所以gcb(a,b)=gcb(b,r)=gcb(b,a%b).public static i

2017-11-09 14:07:17 1171

原创 java设计模式之十一:适配器模式

适配器模式:类似于充电那样,将充电器作为适配器,把220v电压转化为5v电压。220放电接口:interface IChinaD { public int fD();}放电类class ChinaD implements IChinaD { @Override public int fD() { System.out.pri

2017-11-02 16:37:40 174

原创 java设计模式之十:模板模式

模板模式:利用继承来实现代码的重用。抽象父类:用来定义子类需要实现的类和父类已经写完的重复代码abstract class AbstractClass{ public abstract void operation1(); public abstract void operation2(); public void templateMethod(){

2017-11-02 10:58:44 170

转载 java设计模式之九:外观模式

1.外观模式简介外观模式介绍当我们开发Android的时候,无论是做SDK还是封装API,我们大多都会用到外观模式,它通过一个外观类使得整个系统的结构只有一个统一的高层接口,这样能降低用户的使用成本。外观模式定义为系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得子系统更加容易使用。

2017-11-02 10:32:28 161

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

观察者模式作为设计模式之一:在各个项目中都有大量的引用,例如Listener。观察者模式的关键是:被观察者产生了变化或者达到一定要求,就通知观察者。而不是观察者时刻去检查被观察者的状态。举例一:天气变化,显示牌显示气温天气:被观察者显示牌:观察者。气象站:客户端。天气发生了变化,气象站作为客户端需要调用被观察者的提醒方法,提醒观察者。举例二:Android鼠

2017-11-01 16:21:33 141

原创 Maven多模块项目引用jar的配置文件

在一个maven的多模块web项目中,一般一个是web,其他的都是jar。但是有时候在执行的时候,会出现找不到jar中配置文件的问题。原因一:这些resources下的配置文件没有被编译进去,所以导致找不到配置文件。原因二:因为是在web启动的项目,只会去web项目的classpath下找,所以找不到。问题一解决:1 自己手动编译,用maven的插件,mvn build

2017-10-25 18:22:08 7638

原创 乱码问题的汇总

1:在项目中设置了编码为utf8,但是按钮或者文本框上乱码,原因是因为没有添加这句话:我猜想浏览器会在读取页面时通过这句话判断用什么编码方式显示。2:数据库表无法插入中文:原因是可能没有设置字符集,最好在cmd中设置为utf8,目前这个编码格式是最通用的。不过,好像这个修改会没有作用,最好是在创建数据库的时候就创建好。还有MySQL编码有四种编码:服务器端,数据库端

2017-09-15 18:43:34 270

原创 Java设计模式之七:建造者模式

之前因为去公司实习,晚上下班到家吃完饭快八点半了,看了会电视就想睡觉,都没时间写,趁这个双休,又重新学习了新的模式,建造者模式。建造者模式顾名思义:就是用来创建产品的。当然啦:这不像之前的工厂模式,创建一样物品就行了。这里的建造指的是创建物品的各个部分。举个例子:造一栋大厦,都是需要每一个步骤的,同时还有一定的流程,如果你漏掉某一部分,将会导致创建的产品出现错误。下面是代码:

2017-08-06 15:56:57 248

原创 二叉树的计算的一些算法

完全二叉树的节点个数为n,则它的叶子节点个数为 n-n/2.

2017-08-05 22:19:39 355

原创 Java基础之方法的重写

面试中经常考到方法的重写,这里需要遵循两同,两小,一大的原则。两同:方法名和参数一样(包括参数类型和参数个数)两小:抛出的异常比父类小,返回值比父类小。这里有一个误区:假如是基本数据类型或者他们的封装类型,是必须一样的。class B { public int b(){ System.out.println("b"); return 2; }}public class

2017-07-29 20:59:56 211

原创 Java设计模式之六:装饰模式

装饰模式属于设计模式中较为重要的一个模式了,在jdk IO中也有应用,有没有对下面的这句话很熟悉。BufferedReader bf=new BufferedReader(new InputStreamReader(new FileInputStream(path)));//字符流读取文件的方式,当然字符流是基于字节流的。其实这个就是装饰者模式,给FileInputStream添加了一层又

2017-07-28 21:38:38 333

原创 java设计模式之五:代理模式

代理模式顾名思义:一个人代替一个人去干一些事,比如说大家熟知的武林外传中就有小六替秀才表白的情节,但是除了替秀才表白,还能在这上面进行一些扩展。接下来我们来了解下代理模式吧。代理模式一般分为静态代理模式和动态代理模式。静态代理如果需要在接口中添加方法,你就必须进行大批量的修改,所以这不太适合需要经常修改需求的场景。而动态代理模式则是利用了Java的反射机制实现的一种。静态代理模式:第一

2017-07-26 22:13:10 264

原创 Java设计模式之四:抽象工厂模式

之前的工厂方法模式已经介绍过,如果需要生产的产品种类比较多,那么就需要创建很多的工厂类,例如:衣服有商务型衣服和运动型衣服,鞋子有商务型鞋子和运动型鞋子,按照之前工厂方法模式的设计思路,应该创建四个工厂才行,这样未必就太麻烦了,这里就来介绍一种另外的创建型模式:抽象工厂模式。第一步:创建

2017-07-25 23:07:44 284

原创 Java设计模式之三:工厂方法模式

由于之前一直在看并发编程的书籍,好几天没写设计模式的博文了(虽然已经实现了,但是懒)之前写了简单工厂模式,简单工厂模式本质就是根据传入的字符串进行对象的创建,但是这违反了开闭原则:对扩展开放,对修改封闭。假设我们有新的对象添加,那么势必需要在工厂类的静态方法中添加case,所以才有了工厂方法模式。工厂方法模式:这边我尽量用简单点的方式进行讲解,UML图就不画了,俺的机子太差,没装rat

2017-07-24 22:08:57 207

原创 cookie和session解析

java web有两种会话,一种是cookie,另外一种则是sessioncookie的过程:1:浏览器向服务器发出请求。2:服务器根据需要创建cookie对象(需要:是否需要保存账号密码)3:将需要的数据以key value形式保存到cookie对象中。4:然后把cookie对象放在响应头发送到浏览器中。5:浏览器将cookie保存到本地客户端。session

2017-07-19 19:11:12 255

原创 Servlet解析

Servlet加载过程:第一步创建实例,初始化(init())第二步:获得请求,在service中判断是post还是get,继而跳转到doget或者dopost第三步:服务完成,销毁实例。以下有几个关键点:一:初始化是在创建实例之后,并不是在初始化的时候创建实例。二:servlet是多线程的方式执行请求,所以是线程不安全的做法,因此一般不定义类变量或者静态变量,而是

2017-07-18 11:22:23 223

原创 MySQL连接

今天花了两个小时的时间研究了一下MySQL 5.0版本下的连接。MySQL下的连接一般分为内连接(inner join),外连接(outer join),交叉连接(cross join),外连接还包括左外连接,右外连接和全连接。但其实他们都是由交叉连接通过条件限制改变而来的。下面是a表和b表的数据 交叉连接经过我的实验,SELECT * FROM a JOIN

2017-07-11 16:09:26 182

原创 java设计模式之二:策略模式

策略模式与简单工厂模式原理上有许多相似的地方,都是利用java的继承和多态实现。在这里贴上代码:抽象父类:public abstract class Operation {protected double numberA;protected double numberB;public double getNumberA() {return numberA;}

2017-07-10 09:48:57 236

原创 java设计模式之一:简单工厂模式

本人开发主要以Java开发为主:故使用Java语言进行讲解。在程序设计中,为了更好的对程序进行扩展,出现了多样的模式,常用的设计模式为23种,这一次的讲解为简单工厂模式。这个模式的优点是工厂可以通过条件获取需要创建的对象,而不是自己创建对象。以计算机为例:创建抽象计算类:public abstract class Operation {protected double number

2017-07-09 23:10:09 179

docker技术入门与实战

docker技术的入门,对于服务器环境部署的兼容性问题,利用docker可以完美解决

2018-10-25

人人都是架构师

人人都是架构师 书籍,提供了在高并发下的处理解决方法

2018-06-26

Spring源码深度解析

spring源码的解析书籍

2018-02-07

实战nginx,取代apache的高性能服务器

实战nginx,帮你摆脱nginx不了解的窘境 -------------------------------------------------------------------------------------------------------------------------------------------------------

2018-02-07

maven骨架.xml

希望修改成0分

2017-08-30

空空如也

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

TA关注的人

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