<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BraveShadows]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/BraveShadows</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BraveShadows]]></copyright><item><title><![CDATA[JVM常用调优参数设置]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/108048313</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/108048313</guid><author>BraveShadows</author><pubDate>Mon, 17 Aug 2020 08:43:42 +0800</pubDate><description><![CDATA[根据Java虚拟机规范，JVM将内存划分为：

年轻代（New）、年老代（Tenured）、持久代（Perm）



年轻代（New）

年轻代用来存放JVM刚分配的Java对象。

年轻代分为三个区。一个Eden区，两个Survivor区。两个Survivor空间一样大，当Eden中的对象经过垃圾回收没有被回收掉时，会在两个Survivor之间来回Copy，当满足某个条件，比如Copy次数，就会被Copy到年老代。

年老代（Tenured)

年轻代中经过垃圾回收没有回收掉的对象将被Copy到年老代
.]]></description><category></category></item><item><title><![CDATA[单例模式]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/107914644</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/107914644</guid><author>BraveShadows</author><pubDate>Mon, 10 Aug 2020 15:47:56 +0800</pubDate><description><![CDATA[单例模式

1.手写单例模式

2.线程安全的单例模式



什么是单例

单例类在整个程序中只能有一个实例，这个类负责创建自己的对象，并确保只有一个对象被创建。



代码实现要点

私有构造器

持有该类的属性

对外提供获取实力的静态方法



饿汉式：

线程安全，反射不安全，反序列化不安全

另外，饿汉式对反射机制是不安全的，利用反射去获取该单例对象，

是会拿到不同的对线

饿汉式对反序列化也是不安全的，所以可以在类中重写readResolve()方法来解决反序列化的不安全问题



懒...]]></description><category></category></item><item><title><![CDATA[记一次SpringBoot整合dubbo和Zookeeper的错误]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/107914520</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/107914520</guid><author>BraveShadows</author><pubDate>Mon, 10 Aug 2020 15:41:08 +0800</pubDate><description><![CDATA[按照视频整合框架，发现zookeeper的注册中心一直启动不了，后来更改版本，参考了这个文章

https://blog.youkuaiyun.com/RoseBoomMoon/article/details/104397993



视频版本号为springboot 1.5.10 + dubbo-start 0.1.0 + zkclient

不一定是错误，但还是照着文章里改为了 springboot 2.2.6 + dubbo-start 2.7.5 + curator-recipes 4.2.0

装完后发现C.]]></description><category></category></item><item><title><![CDATA[IO流使用的类]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/107914417</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/107914417</guid><author>BraveShadows</author><pubDate>Mon, 10 Aug 2020 15:37:12 +0800</pubDate><description><![CDATA[字节流



输入流

InputStream

int read()：一次读取一个字节

int read(byte[] bys)：一次读取一个字节数组



FileInputStream

BufferedInputStream



输出流

OutputStream

void write(int by)：一次写一个字节

void write(byte[] bys,int i,int len)：一次写一个字节数组的一部分



FileOutputStream

BufferedOutp...]]></description><category></category></item><item><title><![CDATA[网络编程相关知识]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/107914308</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/107914308</guid><author>BraveShadows</author><pubDate>Mon, 10 Aug 2020 15:36:16 +0800</pubDate><description><![CDATA[网络编程：用Java语言实现计算机间数据的信息传递和资源共享
	网络编程模型
	网络编程的三要素
	IP地址
		点分十进制
			IP地址的组成
			IP地址的分类
			dos命令
			InetAddress
		
		端口
		是应用程序的表示。范围：0-65535。去这个I部分0-1024不建议使用。
		
		协议
		UDP：数据打包，有限制，不连接，效率高，不可靠
			TCP：简历数据通道，无限制，效率低，可靠
		
	
	Socket机制
	通信两端都应该有Socket对象
		所有的]]></description><category></category></item><item><title><![CDATA[redis常用命令]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/107914250</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/107914250</guid><author>BraveShadows</author><pubDate>Mon, 10 Aug 2020 15:32:10 +0800</pubDate><description><![CDATA[命令操作

1.redis的数据结构：

*redis存储的是：key,value格式的数据，其中key都是字符串，value有5种不同的数据结构

*value的数据结构：

1)字符串类型string

2)哈希类型hash：map格式

3)列表类型list：linkedlist格式...]]></description><category></category></item><item><title><![CDATA[request对象和response对象的原理]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/107914208</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/107914208</guid><author>BraveShadows</author><pubDate>Mon, 10 Aug 2020 15:30:23 +0800</pubDate><description><![CDATA[request对象和response对象的原理：

request和response对象是由服务器创建的，我们来使用它们

request对象时来获取请求消息，response对象时来设置响应消息

原理：

1.tomcat服务器会根据请求url中的资源路径，创建对应的ServletDemo1的对象。

2.tomcat服务器，会创建request和response对象，request对象中封装请求消息数据

3.tomcat将request和response两个对象传递给service方法，并且调用se]]></description><category></category></item><item><title><![CDATA[MyBatis模糊查询不报错但查不出数据的一种解决方案]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/80441309</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/80441309</guid><author>BraveShadows</author><pubDate>Thu, 24 May 2018 19:41:46 +0800</pubDate><description><![CDATA[今天在用MyBatis写一个模糊查询的时候，程序没有报错，但查不出来数据，随即做了一个测试，部分代码如下：	@Test
	public void findByNameTest() throws IOException {
		String resource = &quot;SqlMapConfig.xml&quot;;
		InputStream inputStream = Resources.getResource...]]></description><category></category></item><item><title><![CDATA[.NET开发，修改信息时文本框值改变但后台获取的值还是原值BUG]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/79009117</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/79009117</guid><author>BraveShadows</author><pubDate>Tue, 09 Jan 2018 09:18:46 +0800</pubDate><description><![CDATA[初学.NET，在做一个增删查改的DEMO
修改页页面代码

    
    
        ID:
        姓名:
        年龄:
        电话:
        个人简介:
    
        
        
    
 做修改操作时，原内容填充文本框代码
       private void bind()
        {
           ]]></description><category></category></item><item><title><![CDATA[Spring中bean的生命周期]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/78928260</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/78928260</guid><author>BraveShadows</author><pubDate>Fri, 29 Dec 2017 09:39:31 +0800</pubDate><description><![CDATA[Spring 中bean 的生命周期短暂吗?

在spring中，从BeanFactory或ApplicationContext取得的实例为Singleton，也就是预设为每一个Bean的别名只能维持一个实例，而不是每次都产生一个新的对象使用Singleton模式产生单一实例，对单线程的程序说并不会有什么问题，但对于多线程的程序，就必须注意安全(Thread-safe)的议题，防止多个线程同时]]></description><category></category></item><item><title><![CDATA[Java的四种访问修饰符]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/78920667</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/78920667</guid><author>BraveShadows</author><pubDate>Thu, 28 Dec 2017 12:10:19 +0800</pubDate><description><![CDATA[对Java中的修饰符一直记不住，现在结合网上的一些资料进行总结，并重点说明一下protected修饰符。

一. Java中的访问修饰符

　　Java面向对象的基本思想之一是封装细节并且公开接口。Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限，从而向使用者暴露接口，但隐藏实现细节。访问控制分为四种级别：

　　（1）public： 用public修饰的类、类属变量及]]></description><category></category></item><item><title><![CDATA[ConcurrentModificationException异常的原因和解决方法]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/78919953</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/78919953</guid><author>BraveShadows</author><pubDate>Thu, 28 Dec 2017 12:01:17 +0800</pubDate><description><![CDATA[ConcurrentModificationException：当方法检测到对象的并发修改，但不允许这种修改时，抛出此异常。


产生原因：
迭代器是依赖于集合而存在的，在判断成功后，集合中新添加了元素，而迭代器却不知道，所以就报错了，这个错叫并发修改异常。
其实这个问题描述的是：迭代器遍历元素的时候，通过集合是不能修改元素的。


如何解决呢？
A：迭代器迭代元素，迭代器修改元]]></description><category></category></item><item><title><![CDATA[抽象类和接口的区别]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/78919783</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/78919783</guid><author>BraveShadows</author><pubDate>Thu, 28 Dec 2017 11:01:38 +0800</pubDate><description><![CDATA[实习期间复习一下以前学过的基础，总结一下抽象类和接口的区别。]]></description><category></category></item><item><title><![CDATA[Collection的功能方法]]></title><link>https://blog.youkuaiyun.com/BraveShadows/article/details/78919652</link><guid>https://blog.youkuaiyun.com/BraveShadows/article/details/78919652</guid><author>BraveShadows</author><pubDate>Thu, 28 Dec 2017 10:52:56 +0800</pubDate><description><![CDATA[1.添加功能  boolean add(Object obj):添加一个元素  boolean addAll(Collection c):添加一个集合的元素    返回结果一定为true2.删除功能  void clear():移除所有元素  boolean remove(Object o):移除一个元素  boolean removeAll(Collection c):移除一个集合的元素  调用]]></description><category></category></item></channel></rss>