<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_42752402的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/weixin_42752402</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; weixin_42752402]]></copyright><item><title><![CDATA[Java基础：注解：JDK提供5个基础注解 5个元注解  不够用，我们还要自定义注解]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/109069298</link><guid>https://blog.csdn.net/weixin_42752402/article/details/109069298</guid><author>weixin_42752402</author><pubDate>Wed, 14 Oct 2020 14:16:48 +0800</pubDate><description><![CDATA[注解 可以扩充我原来代码的功能！（利用反射技术）
注解的分类：
1.JDK自带注解    5个 :  @Override     @Deprecated  @SuppressWarnings(“deprecation”)  @SafeVarargs  @FunctionallInterface
2.元注解（描述注解的注解）    5个  :   @Target     @Retention    @Inherited   @Documented    @Repeatable
3.自定义注解
元注解：
@Ta]]></description><category></category></item><item><title><![CDATA[Java基础：设计模式：单例设计模式：以Runtime这个类的底层源码为例---饿汉式  和   懒汉式]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/109063310</link><guid>https://blog.csdn.net/weixin_42752402/article/details/109063310</guid><author>weixin_42752402</author><pubDate>Wed, 14 Oct 2020 10:40:52 +0800</pubDate><description><![CDATA[设计模式一共有23种，（java出生30多年了，才总结出这23种！）
设计模式是前辈们总结程序中发生的各种问题，为解决这些问题，而设计出的规章制度，方式方法，都是智慧的结晶。
首先说说单例设计模式： （一个类中只能创建出一个这个类的类对象）
体现单例设计模式最经典的地方，就是在Runtime这个类的底层代码中：

1.首先，Runtime这个类把它的构造方法给private了，这样别人就没法随意去创建Runtime类型的对象了。
但也不能闭关锁国，别人要真想用一下Runtime的对象，咋整呢？
2.Runt]]></description><category></category></item><item><title><![CDATA[Java基础知识：线程池的种类（5种）]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/109045864</link><guid>https://blog.csdn.net/weixin_42752402/article/details/109045864</guid><author>weixin_42752402</author><pubDate>Tue, 13 Oct 2020 12:25:21 +0800</pubDate><description><![CDATA[JDK的线程池，它是预先创建好一些线程，放在池中。用的时候从池中取线程，用完放回池中。
避免了创建，销毁线程的开销。与数据库连接池是同样的道理。
1.固定数量的线程池 newFixedThreadPool
作用：这是一个线程数固定的，线程可以重用的线程池，用共享的无界队列方式运行这些线程。
如果所有的核心线程都在忙，这时又有新的任务来，这个新的任务会去队列中等待。
如果一个线程在半路突然中止了，那么会有一个新的线程代替它执行后续的任务。
一个线程在被关闭之前，它会一直在线程池中等待被调用。（下班前，要一直在]]></description><category></category></item><item><title><![CDATA[Java基础知识：创建线程的3种方式]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/109044565</link><guid>https://blog.csdn.net/weixin_42752402/article/details/109044565</guid><author>weixin_42752402</author><pubDate>Tue, 13 Oct 2020 09:42:25 +0800</pubDate><description><![CDATA[1.新建一个类ThreadSon1，继承Thread类，重写它的run()，没有返回值
新建ThreadSon1对象，用它去.start()，开启线程。
2.新建一个类ThreadSon2，实现Runable接口，实现其run()，没有返回值
新建ThreadSon2对象
再新建Thread对象（带参数，参数就是ThreadSon2对象），
用Thread对象去.start()方法，开启线程、
3.新建一个类ThreadSon3，实现Callable&lt;泛型&gt;接口，实现其call()，返回值类型为]]></description><category></category></item><item><title><![CDATA[Java中的设计模式和原则]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/109019308</link><guid>https://blog.csdn.net/weixin_42752402/article/details/109019308</guid><author>weixin_42752402</author><pubDate>Mon, 12 Oct 2020 09:17:25 +0800</pubDate><description><![CDATA[1.JDK中几个常用的设计模式

单例模式：对象被创建一次后，放入池中，用的时候从池中取。节省系统开销。
工厂模式：（简单工厂，抽象工厂）为了解耦，eg：SqlsessionFactory
观察者模式：对象A依赖着对象B，对象C，对象D…，当对象A改变时，对象B，对象C，对象D都会收到通知，并自动更新。
外观模式（不太了解）：提供一个统一的接口，用来访问子系统中的一群接口。外观定义了一个高层的接口，让子系统更容易使用。
模板方法模式（不太了解）：模板方法 使得子类可以在不改变算法结构的情况下，重新定义算法的]]></description><category></category></item><item><title><![CDATA[IO 的 一些小结]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/109021147</link><guid>https://blog.csdn.net/weixin_42752402/article/details/109021147</guid><author>weixin_42752402</author><pubDate>Mon, 12 Oct 2020 09:16:43 +0800</pubDate><description><![CDATA[IO流
数据流：往内存中输入，或从内存中输出的数据。
IO流：	一组有顺序，有起点，有终点的字节的集合。


按照流向分：
输入流（把磁盘中的数据读取到内存中）
输出流（把内存中的数据写入到磁盘中）


按照数据单位的不同分：
字节流（每次读/写   一个字节，当遇到中文时，会有乱码，因为一个中文是2个字节）
字符流（每次读/写   两个字节，遇到中文，也能正确显示）


按照流的角色划分：
节点流：向一个特定的地方（节点）读写数据。eg：FileInputStream
处理流：是对一个已存在的流的连接和封]]></description><category></category></item><item><title><![CDATA[Lesson16  京淘项目---单点登录系统SSO的搭建]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108611117</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108611117</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:17:15 +0800</pubDate><description><![CDATA[京淘 单点登录系统 SSO
1 现状分析
当前在京淘前台页面中，点击“登录”和“免费注册”这两个按钮，跳转的网页地址分别为：
http://www.jt.com/user/login.html
http://www.jt.com/user/register.html

显然这是个伪静态的用法，实际上要访问的资源为：

要想展现对应的页面，客户端势必要发送两次ajax请求。
那么对应的controller中难道也一定得写2个方法去接收吗？
不需要，用restful风格，一个方法搞定
1.1 编辑UserCon]]></description><category></category></item><item><title><![CDATA[Lesson17 微服务框架Dubbo框架的学习  Part1]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108612960</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108612960</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:17:04 +0800</pubDate><description><![CDATA[1 微服务框架介绍
1.1 远程调用
浏览器解析客户端发起的ajax跨域请求.请求虽然可以被B服务器正确的调用并处理,但是浏览器可以监控用户的这次发的ajax请求的所有的参数及返回值.在一些特定的条件下该操作不安全.
一般使用跨域的请求都是用来获取其他服务器的数据(查询操作),如果遇到了POST需要提交的参数应该使用更加安全的请求方式实现.
1.2 HttpClient介绍
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了，越来越多的 Java 应用程序需要直接通过 HTTP 协议来]]></description><category></category></item><item><title><![CDATA[Lesson15  京淘前台系统的搭建]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108578343</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108578343</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:16:32 +0800</pubDate><description><![CDATA[1 京淘项目前台的搭建
1.1 京淘项目架构图设计
在分布式的条件下，由web服务器从后端的业务服务器获取服务器，通过HTTP请求协议，利用远程调用的方式获取业务数据。
将来采用更加通用的json字符串的方式返回数据。实现跨系统之间的数据访问。
并且每个节点根据用户访问量的不同，搭建不同规模的集群，从而实现用户的高并发的访问。
tomcat服务器在未经调优时，只能支持150次/s到240次/s 的访问量。
但在调优以后，可以达到大约1000次/s 的访问量

1.2 创建jt-web子项目
注意：要在jt父]]></description><category></category></item><item><title><![CDATA[Lesson16   实现跨域请求的两种方式：JSONP    和     CORS]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108593288</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108593288</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:16:18 +0800</pubDate><description><![CDATA[1.什么是跨域
2.JSONP跨域方式
3.CORS跨域方式
4.基于跨域思想，校验用户信息
5.微服务RPC/SOA思想]]></description><category></category></item><item><title><![CDATA[Lesson18 Dubbo框架的学习  --Part 2      用户登录---信息回显  TODO]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108652238</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108652238</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:16:08 +0800</pubDate><description><![CDATA[1.Dubbo相关知识的介绍
2.将京淘项目改造成Dubbo项目
3.完成用户注册信息的入库
4.完成用户的单点登录SSO
5.完成用户信息的回显]]></description><category></category></item><item><title><![CDATA[番外---重启linux后，要开启哪些服务]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108506570</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108506570</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:15:58 +0800</pubDate><description><![CDATA[1.MariaDB数据库
任意目录下
开启命令：systemctl    start    mariadb
2.查看防火墙是不是关着的
firewall-cmd     --state
3.数据库代理 mycat
mycat的安装目录，bin文件夹中
/usr/local/src/mycat/bin
开启命令：./mycat
紧跟着 查询状态 命令： ./mycat   status
4.nginx反向代理
在nginx的工作目录下  的sbin目录下
/usr/local/nginx/sbin/
执行绿色]]></description><category></category></item><item><title><![CDATA[Lesson 19 京淘项目 微服务--Dubbo框架---用户单点登录注册（SSO）---购物车（CART）---前端页面（WEB）---后台管理（MANAGE）]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108677183</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108677183</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:15:45 +0800</pubDate><description><![CDATA[1 用户模块
1.1 用户登出操作（SSO）
要达成的效果就是：
用户在jt-web主页面点击了退出之后，跳转回jt-web主页面，并且不再显示用户的名称。
隐含的过程是：
浏览器：要删除用户上次登录时的cookie信息（即作废ticket）；
服务器：要删除用户上次登录存入的登录的redis缓存信息（因为redis中的记录是根据ticket来记录的，ticket的value就是redis中的key。ticket作废了，redis中这条数据也就作废了）
1.1.1 当前情况分析
点击了“退出”后，浏览器地址]]></description><category></category></item><item><title><![CDATA[Lesson9  【LINUX】将京淘项目发布到Linux系统上]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108456227</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108456227</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:15:31 +0800</pubDate><description><![CDATA[1.Linux中配置JDK
2.Linux中配置MariaDB
3.将打包好的项目发布到Linux
4.配置nginx]]></description><category></category></item><item><title><![CDATA[CGBIV-JT项目-lession4-jt项目正式开启-下]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108433399</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108433399</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:15:14 +0800</pubDate><description><![CDATA[由于上一篇太长了，所以有了这篇《CGBIV-JT项目-lession4-jt项目正式开启-下》
1 商品的删除 DELETE

这个模块的难点在于，要支持同时删除多个商品Item。
有两个方法：
方法1.通过MP中的deleteBatchIds()方法。
需注意的是这个方法的参数规定是要List，而客户端传过来的是数组[ ]，所以要先将数组—&gt;List，而JDK中的Arrays.asList( )方法就能实现这个目的。
方法2.不用MP，自己手写sql，并且需要写的是动态sql。这是难点！
需要手写s]]></description><category></category></item><item><title><![CDATA[Lesson14  Redis集群的搭建]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108561491</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108561491</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:14:50 +0800</pubDate><description><![CDATA[1 为什么要搭建Redis集群
Redis的分片机制能对Redis数据库进行扩容，但由于每个Redis分片中的内容都是自己独有的，所以万一有一个宕机了，用户就可能查不到数据了。没法做到高可用。
Redis的哨兵机制能让Redis能监控主机的状态，保证Redis的高可用。但是每个主机和从机中保存的数据都是相同的。存储这些相同的海量的缓存数据相当浪费内存。
怎么才能做到二者兼得呢？
那就是  Redis集群
采用redis集群,可以保证数据分散存储,同时保证数据存储的一致性.
并且在内部实现高可用的机制（不用引]]></description><category></category></item><item><title><![CDATA[Lesson11  Linux中  Redis缓存的配置]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108504549</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108504549</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:14:22 +0800</pubDate><description><![CDATA[1 服务缓存
1.1 为什么有服务器缓存这个东西？
缓存机制主要的目的就是降低用户访问物理设备的频次.提供用户的查询的效率.
衍生: 可以利用缓存服务器有效的降低用户访问数据库的压力.
缓存数据存在于内存中。
1.2 搭建一个缓存服务器要考虑的要素
1.缓存用什么样的结构存储数据？   K-V
2.缓存服务的开发用什么语言？   C语言
3.缓存服务运行的环境？       让缓存服务运行在内存中。
4.缓存的数据都在内存中，万一断电，就将丢失。    要序列化（持久化到磁盘中）
5.内存大小有限，而缓存数]]></description><category></category></item><item><title><![CDATA[Lesson8  Linux系统中，京淘数据库的优化（主库与从库）--Part1--配置从库]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108466073</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108466073</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:14:12 +0800</pubDate><description><![CDATA[配置第2台数据库作为从数据库]]></description><category></category></item><item><title><![CDATA[Lesson10  京淘项目中整合Redis数据库（通过查redis展现商品类目的tree）]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108507312</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108507312</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:13:49 +0800</pubDate><description><![CDATA[1.SpringBoot中整合redis
2.京淘项目中配置redis
3.利用AOP形式实现商品分类缓存（Redis代码与业务代码混在一起，不好，要用AOP技术优化）]]></description><category></category></item><item><title><![CDATA[Lesson7  京淘项目---借助nginx的反向代理功能实现-----文件上传]]></title><link>https://blog.csdn.net/weixin_42752402/article/details/108460468</link><guid>https://blog.csdn.net/weixin_42752402/article/details/108460468</guid><author>weixin_42752402</author><pubDate>Sat, 10 Oct 2020 13:13:23 +0800</pubDate><description><![CDATA[前言
在新增商品，修改商品界面都有“上传图片”的功能。
目前，点击“开始上传”会显示  上传失败，因为在项目代码中我还没写这部分功能，并且也还没配置nginx。


]]></description><category></category></item></channel></rss>