<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Mars_LJ的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Mars_LJ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mars_LJ]]></copyright><item><title><![CDATA[分布式服务]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/120601044</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/120601044</guid><author>Mars_LJ</author><pubDate>Mon, 04 Oct 2021 14:09:23 +0800</pubDate><description><![CDATA[集中式架构

只需一个应用，将所有功能都部署在一起，以减少部署节点和成本。此时，用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。

单体应用：单点故障

集群：质量不够数量来凑



存在的问题：


	代码耦合，开发维护困难
	
	
	无法针对不同模块进行针对性优化
	
	
	无法水平扩展
	
	
	单点容错率低，并发能力差
	


垂直拆分



优点：


	系统拆分实现了流量分担，解决了并发问题
	
	
	可以针对不同模块进行优化
	
	
	方便水平扩展，负载均衡，容错率提高..]]></description><category></category></item><item><title><![CDATA[跟随小破站学习my sql第六天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/111371956</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/111371956</guid><author>Mars_LJ</author><pubDate>Sat, 19 Dec 2020 19:14:48 +0800</pubDate><description><![CDATA[局部变量运行时会报错 因为局部变量仅在第一句才有效!











因为SQLyog不支持运行存储过程 所以只能通过dos命令来执行效果!












]]></description><category></category></item><item><title><![CDATA[跟随小破站学习my sql第五天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/111147285</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/111147285</guid><author>Mars_LJ</author><pubDate>Fri, 18 Dec 2020 15:34:45 +0800</pubDate><description><![CDATA[delete时 如果使用rollback可以回滚数据,但使用truncate时 不能回滚数据!






























]]></description><category></category></item><item><title><![CDATA[跟随小破站学习my sql第四天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/110873366</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/110873366</guid><author>Mars_LJ</author><pubDate>Sun, 13 Dec 2020 22:40:52 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[跟随小破站学习my sql第三天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/110453076</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/110453076</guid><author>Mars_LJ</author><pubDate>Mon, 07 Dec 2020 18:28:52 +0800</pubDate><description><![CDATA[外连接时 主表的数据都会显示出来 如果在连接表中没找到匹配信息 显示null!












]]></description><category></category></item><item><title><![CDATA[跟随小破站学习my sql第二天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/110008961</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/110008961</guid><author>Mars_LJ</author><pubDate>Fri, 27 Nov 2020 22:58:49 +0800</pubDate><description><![CDATA[case函数使用一表示为当和常量等值时 使用二表示当满足条件时!








]]></description><category></category></item><item><title><![CDATA[跟随小破站学习my sql第一天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/109904606</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/109904606</guid><author>Mars_LJ</author><pubDate>Mon, 23 Nov 2020 21:56:12 +0800</pubDate><description><![CDATA[安装的是数据库的服务端!

修改端口号:前往C:\Program Files (x86)\MySQL\MySQL Server 版本号\my.ini 中找到sqlb









当-p后想输入密码时 无需添加空格 直接输入密码即可!



















查看客户端版本号




...]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第二十三天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/109697106</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/109697106</guid><author>Mars_LJ</author><pubDate>Wed, 18 Nov 2020 21:45:48 +0800</pubDate><description><![CDATA[public class ModuleTest {

    public static void main(String[] args) {
        Person p = new Person("Tom",12);
        System.out.println(p);
    }

}


module day13 {
    requires java9test;
    requires junit;
}


//此为java 9之后的新特性 所以jdk的...]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第二十二天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/109552787</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/109552787</guid><author>Mars_LJ</author><pubDate>Thu, 12 Nov 2020 17:08:54 +0800</pubDate><description><![CDATA[/**
 * 静态代理举例
 *
 * 特点：代理类和被代理类在编译期间，就确定下来了。
 *
 */
interface ClothFactory{

    void produceCloth();

}

//代理类
class ProxyClothFactory implements ClothFactory{

    private ClothFactory factory;//用被代理类对象进行实例化

    public ProxyClothFactory(ClothFactor...]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第二十一天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/109430047</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/109430047</guid><author>Mars_LJ</author><pubDate>Sat, 07 Nov 2020 21:32:18 +0800</pubDate><description><![CDATA[public class Person {

    private String name;
    public int age;

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

  ...]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第二十天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/109336226</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/109336226</guid><author>Mars_LJ</author><pubDate>Sun, 01 Nov 2020 16:39:04 +0800</pubDate><description><![CDATA[/**
 * 对象流的使用
 * 1.ObjectInputStream 和 ObjectOutputStream
 * 2.作用：用于存储和读取基本数据类型数据或对象的处理流。它的强大之处就是可以把Java中的对象写入到数据源中，也能把对象从数据源中还原回来。
 *
 * 3.要想一个java对象是可序列化的，需要满足相应的要求。见Person.java
 *
 * 4.序列化机制：
 * 对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流，从而允许把这种
 * 二进制流持久地保存...]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第十九天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/109272962</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/109272962</guid><author>Mars_LJ</author><pubDate>Wed, 28 Oct 2020 16:19:41 +0800</pubDate><description><![CDATA[流的角色分类是从程序(内存)的角度出发的 数据到内存为输入 内存到数据为输出!



非文本的选用字节流 文本形式的选用字符流!

流的分类图





书写文件位置时 idea中main方法默认为当前工程下 测试test默认为当前模块下!


/**
 *
 * 一、流的分类：
 * 1.操作数据单位：字节流、字符流
 * 2.数据的流向：输入流、输出流
 * 3.流的角色：节点流、处理流
 *
 * 二、流的体系结构
 * 抽象基类         节点流（或文件流）             ...]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第十八天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/109205977</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/109205977</guid><author>Mars_LJ</author><pubDate>Sat, 24 Oct 2020 22:45:40 +0800</pubDate><description><![CDATA[/**
 *
 * 泛型的使用
 * 1.jdk 5.0新增的特性
 *
 * 2.在集合中使用泛型：
 *  总结：
 *  ① 集合接口或集合类在jdk5.0时都修改为带泛型的结构。
 *  ② 在实例化集合类时，可以指明具体的泛型类型
 *  ③ 指明完以后，在集合类或接口中凡是定义类或接口时，内部结构（比如：方法、构造器、属性等）使用到类的泛型的位置，都指定为实例化的泛型类型。
 *    比如：add(E e)  ---&gt;实例化以后：add(Integer e)
 *  ④...]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第十七天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/109101319</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/109101319</guid><author>Mars_LJ</author><pubDate>Wed, 21 Oct 2020 17:28:03 +0800</pubDate><description><![CDATA[public class CollectionTest {
    
    //forEach遍历 使用jdk 1.8的新特性
    @Test
    public void test1(){
        Collection coll = new ArrayList();

        coll.add(123);
        coll.add(456);
        coll.add(343);
        coll.add(343);

        coll.forEa.]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第十六天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/109032264</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/109032264</guid><author>Mars_LJ</author><pubDate>Wed, 14 Oct 2020 22:50:37 +0800</pubDate><description><![CDATA[/**
 * 一、集合框架的概述
 *
 * 1.集合、数组都是对多个数据进行存储操作的结构，简称Java容器。
 *  说明：此时的存储，主要指的是内存层面的存储，不涉及到持久化的存储（.txt,.jpg,.avi，数据库中）
 *
 * 2.1 数组在存储多个数据方面的特点：
 *      &gt; 一旦初始化以后，其长度就确定了。
 *      &gt; 数组一旦定义好，其元素的类型也就确定了。我们也就只能操作指定类型的数据了。
 *       比如：String[] arr;int[] ar.]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第十五天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/109011083</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/109011083</guid><author>Mars_LJ</author><pubDate>Mon, 12 Oct 2020 17:19:27 +0800</pubDate><description><![CDATA[/**
 * 一、枚举类的使用
 * 1.枚举类的理解：类的对象只有有限个，确定的。我们称此类为枚举类
 * 2.当需要定义一组常量时，强烈建议使用枚举类
 * 3.如果枚举类中只有一个对象，则可以作为单例模式的实现方式。
 *
 * 二、如何定义枚举类
 * 方式一：jdk5.0之前，自定义枚举类
 * 方式二：jdk5.0，可以使用enum关键字定义枚举类
 *
 * 三、Enum类中的常用方法：
 *    values()方法：返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值...]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第十四天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/108962267</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/108962267</guid><author>Mars_LJ</author><pubDate>Sun, 11 Oct 2020 11:02:08 +0800</pubDate><description><![CDATA[public class StringDemo1 {
    /*
    获取一个字符串在另一个字符串中出现的次数。
      比如：获取“ab”在 “abkkcadkabkebfkaabkskab” 中出现的次数
     */

    /**
     * 获取subStr在mainStr中出现的次数
     * @param mainStr
     * @param subStr
     * @return
     */
    public int getCount(String m.]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第十三天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/108922615</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/108922615</guid><author>Mars_LJ</author><pubDate>Wed, 07 Oct 2020 22:42:08 +0800</pubDate><description><![CDATA[/**
 * 一道面试题
 */
public class StringTest {

    String str = new String("good");
    char[] ch = { 't', 'e', 's', 't' };

    public void change(String str, char ch[]) {
        str = "test ok";
        ch[0] = 'b';
    }
    public static void ...]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第十二天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/108890684</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/108890684</guid><author>Mars_LJ</author><pubDate>Fri, 02 Oct 2020 22:02:28 +0800</pubDate><description><![CDATA[/**
 * 演示线程的死锁问题
 *
 * 1.死锁的理解：不同的线程分别占用对方需要的同步资源不放弃，
 * 都在等待对方放弃自己需要的同步资源，就形成了线程的死锁
 *
 * 2.说明：
 * 1）出现死锁后，不会出现异常，不会出现提示，只是所有的线程都处于阻塞状态，无法继续
 * 2）我们使用同步时，要避免出现死锁。
 *
 */
public class ThreadTest {

    public static void main(String[] args) {

        Str.]]></description><category></category></item><item><title><![CDATA[跟随小破站学习java SE第十一天]]></title><link>https://blog.youkuaiyun.com/Mars_LJ/article/details/108805031</link><guid>https://blog.youkuaiyun.com/Mars_LJ/article/details/108805031</guid><author>Mars_LJ</author><pubDate>Sun, 27 Sep 2020 20:54:07 +0800</pubDate><description><![CDATA[/**
 * 多线程的创建，方式一：继承于Thread类
 * 1. 创建一个继承于Thread类的子类
 * 2. 重写Thread类的run() --&gt; 将此线程执行的操作声明在run()中
 * 3. 创建Thread类的子类的对象
 * 4. 通过此对象调用start()
 * &lt;p&gt;
 * 例子：遍历100以内的所有的偶数
 *
 */

//1. 创建一个继承于Thread类的子类
class MyThread e...]]></description><category></category></item></channel></rss>