<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Danny的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/shuxing520</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shuxing520]]></copyright><item><title><![CDATA[本地项目上传到git]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/129284571</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/129284571</guid><author>shuxing520</author><pubDate>Wed, 01 Mar 2023 16:39:25 +0800</pubDate><description><![CDATA[初始化gitgit init切换并且创建分支添加git add .提交到本地仓库绑定远程仓库提交到远程仓库。]]></description><category></category></item><item><title><![CDATA[Java网络图片下载到本地]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/129063515</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/129063515</guid><author>shuxing520</author><pubDate>Thu, 16 Feb 2023 15:45:35 +0800</pubDate><description><![CDATA[【代码】Java网络图片下载到本地。]]></description><category></category></item><item><title><![CDATA[wait 和 notify 这个为什么要在 synchronized 代码块中]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/128827636</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/128827636</guid><author>shuxing520</author><pubDate>Wed, 01 Feb 2023 10:06:02 +0800</pubDate><description><![CDATA[而 Synchronized 同步关键字就可以实现这样一个互斥条件，也就是在通过共享 变量来实现多个线程通信的场景里面，参与通信的线程必须要竞争到这个共享变 量的锁资源，才有资格对共享变量做修改，修改完成后就释放锁，那么其他的线 程就可以再次来竞争同一个共享变量的锁来获取修改后的数据，从而完成线程之 前的通信。在多线程里面，要实现多个线程之间的通信，除了管道流以外，只能通过共享变 量的方法来实现，也就是线程 t1 修改共享变量 s，线程 t2 获取修改后的共享变 量 s，从而完成数据通信。]]></description><category></category></item><item><title><![CDATA[redis和MySQL如何保证数据的一致性]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/128826702</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/128826702</guid><author>shuxing520</author><pubDate>Wed, 01 Feb 2023 09:23:22 +0800</pubDate><description><![CDATA[同一份数据同时保存在redis和MySQL，那么数据发生变化的时候就需要同时更新这两个存储，但是更新会有前后且不具有原子性，就会出现数据一致性问题。先删除缓存，再更新数据库：也会存在极端情况，删除redis和更新数据库之间有线程访问，也会存在数据不一致的问题。redis是用来实现应用与数据库之间读操作的缓存层，目的是减少数据库的IO，还可以提升数据的IO性能。注：方法一和二都保证了数据的最终一致性，但是不保证短时间内数据一致。先更新数据库，再更新缓存：如果缓存更新失败，那么数据就会不一致。]]></description><category></category></item><item><title><![CDATA[@Resource 和 @Autowired 的区别]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/127214377</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/127214377</guid><author>shuxing520</author><pubDate>Sat, 08 Oct 2022 19:20:43 +0800</pubDate><description><![CDATA[很简单的一个例子，有两个苹果，一个叫哈哈，一个叫呵呵，你指着两个苹果，意思是去拿个苹果，让@Resource去拿，如果不说明，他懵了，但是你说明拿叫哈哈的那个，他就知道了，给你拿来了，让@Autowired去拿，如果不说明，他也懵了，但是他又是个聋子，听不到你说的，结果就拿不到，但是如果写了个字条（@Qualifier）写明拿呵呵，他也就知道了。注：在代码中发现构造方法中注入了很多依赖，显得很臃肿，对于这个问题，说明类中有太多的责任，违反了类的单一性职责原则，这时候需要考虑使用单一职责原则进行代码重构。]]></description><category></category></item><item><title><![CDATA[再有人问你Java内存模型是什么，就把这篇文章发给他]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/80911261</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/80911261</guid><author>shuxing520</author><pubDate>Wed, 04 Jul 2018 13:54:47 +0800</pubDate><description><![CDATA[原文链接：https://blog.youkuaiyun.com/hollis_chuang/article/details/80880118


                    
                前几天，发了一篇文章，介绍了一下JVM内存结构、Java内存模型以及Java对象模型之间的区别。有很多小伙伴反馈希望可以深入的讲解下每个知识点。Java内存模型，是这三个知识点当中最晦涩难懂...]]></description><category></category></item><item><title><![CDATA[ArrayList和LinkedList的区别]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/80842438</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/80842438</guid><author>shuxing520</author><pubDate>Thu, 28 Jun 2018 14:13:39 +0800</pubDate><description><![CDATA[原文链接：https://www.cnblogs.com/shanheyongmu/p/6439202.html


List概括
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 先来回顾一下List在Collection中的的框架图：

&amp;nbsp;&amp;nbsp;&amp;nbsp; 从图中我们可以看出：
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nb]]></description><category></category></item><item><title><![CDATA[tomcat 日志log4j，slf4j,logback冲突]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/80741472</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/80741472</guid><author>shuxing520</author><pubDate>Wed, 20 Jun 2018 09:17:26 +0800</pubDate><description><![CDATA[
                    
            

问题描述：
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 启动tomcat，发现tomcat无法启动，catalina.out有如下错误日志：
INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log Closing Sp...]]></description><category></category></item><item><title><![CDATA[一周一源码之HashMap源码解析]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/80732451</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/80732451</guid><author>shuxing520</author><pubDate>Tue, 19 Jun 2018 12:54:01 +0800</pubDate><description><![CDATA[原文链接：https://blog.youkuaiyun.com/u011291072/article/details/80726185


                    
                简介

HashMap 是一个散列表，它存储的内容是键值对(key-value)映射。其继承于AbstractMap，实现了Map、Cloneable、java.io.Serializable接口...]]></description><category></category></item><item><title><![CDATA[在Intellij IDEA中使用Debug]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/80664011</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/80664011</guid><author>shuxing520</author><pubDate>Tue, 12 Jun 2018 13:16:01 +0800</pubDate><description><![CDATA[原文链接：https://www.cnblogs.com/chiangchou/archive/2017/09/05/idea-debug.html

目录一、Debug开篇二、基本用法&amp;amp;amp;快捷键三、变量查看四、计算表达式五、智能步入六、断点条件设置七、多线程调试八、回退断点九、中断Debug十、附：JRebel激活&amp;amp;nbsp;　　Debug用来追踪代码的运行流程，通常在程序运行过程中出现异...]]></description><category></category></item><item><title><![CDATA[mybatis中大于等于小于等于的写法]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/80448166</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/80448166</guid><author>shuxing520</author><pubDate>Fri, 25 May 2018 10:40:23 +0800</pubDate><description><![CDATA[第一种写法（1）：



原符号       &amp;lt;        &amp;lt;=      &amp;gt;       &amp;gt;=       &amp;amp;        '        &quot;
替换符号    &amp;amp;lt;    &amp;amp;lt;=   &amp;amp;gt;    &amp;amp;gt;=   &amp;amp;amp;   &amp;amp;apos;  &amp;amp;quot;
例如：sql如下：
create...]]></description><category></category></item><item><title><![CDATA[FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/80433864</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/80433864</guid><author>shuxing520</author><pubDate>Thu, 24 May 2018 14:20:39 +0800</pubDate><description><![CDATA[fastJson对于json格式字符串的解析主要用到了一下三个类：
JSON：fastJson的解析器，用于JSON格式字符串与JSON对象及javaBean之间的转换。
JSONObject：fastJson提供的json对象。
JSONArray：fastJson提供json数组对象。
我们可以把JSONObject当成一个Map&amp;lt;String,Object&amp;gt;来看，只是JSONOb...]]></description><category></category></item><item><title><![CDATA[Ubuntu16.04安装Redis]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/80349068</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/80349068</guid><author>shuxing520</author><pubDate>Thu, 17 May 2018 12:18:02 +0800</pubDate><description><![CDATA[前言
Redis是常用基于内存的Key-Value数据库，比Memcache更先进，支持多种数据结构，高效，快速。用Redis可以很轻松解决高并发的数据访问问题；作为实时监控信号处理也非常不错。
环境
Ubuntu 16.04
安装Redis服务器端

~ sudo apt-get install redis-server


安装完成后，Redis服务器会自动启动，我们检查Redis服务器程序
...]]></description><category></category></item><item><title><![CDATA[mysqldump命令]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/80227061</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/80227061</guid><author>shuxing520</author><pubDate>Mon, 07 May 2018 16:01:26 +0800</pubDate><description><![CDATA[--add-drop-table：在每个创建数据库表语句前添加删除数据库表的语句；
--add-locks：备份数据库表时锁定数据库表；
--all-databases：备份MySQL服务器上的所有数据库；
--comments：添加注释信息；
--compact：压缩模式，产生更少的输出；
--complete-insert：输出完成的插入语句；
--databases：指定要备份的数据库；
-...]]></description><category></category></item><item><title><![CDATA[ubuntu下crontab编辑方法的设定]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/80226828</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/80226828</guid><author>shuxing520</author><pubDate>Mon, 07 May 2018 15:50:40 +0800</pubDate><description><![CDATA[在ubuntu下，首次编辑crontab计划任务的时候，会提示让选择编辑器。 
可以重置编辑器，方法如下： 
[root@danny2Tomcat2~]# select-editor 
Select an editor. To change later, run ‘select-editor’. 
1. /bin/ed 
2. /bin/nano &amp;lt;—- easiest 
3. /usr/b...]]></description><category></category></item><item><title><![CDATA[分布式协调服务-Zookeeper]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/79988167</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/79988167</guid><author>shuxing520</author><pubDate>Wed, 18 Apr 2018 13:18:21 +0800</pubDate><description><![CDATA[一：初步认识zookeeper

zookeeper是一个开源的分布式协调服务，是由雅虎创建的，基于google chubby。

1，zookeeper是什么： 
分布式数据一致性解决方案

2，zookeeper能做什么： 
数据的发布/订阅（配置中心:disconf）  、 负载均衡（dubbo利用了zookeeper机制实现负载均衡） 、命名服务、 
master选举(kafka、hado...]]></description><category></category></item><item><title><![CDATA[RedisTemplate 用法]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/79941797</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/79941797</guid><author>shuxing520</author><pubDate>Sat, 14 Apr 2018 16:49:24 +0800</pubDate><description><![CDATA[
                            


如何使用RedisTemplate访问Redis数据结构






Redis 数据结构简介
Redis 可以存储键与5种不同数据结构类型之间的映射，这5种数据结构类型分别为String（字符串）、List（列表）、Set（集合）、Hash（散列）和 Zset（有序集合）。
下面来对这5种数据结构类型作简单的介绍：




结构类型...]]></description><category></category></item><item><title><![CDATA[JAVA中使用HTTPclient访问url取得数据]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/79917348</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/79917348</guid><author>shuxing520</author><pubDate>Thu, 12 Apr 2018 17:35:29 +0800</pubDate><description><![CDATA[使用GET方法获取数据：

/** 
 * 根据URL试用get方法取得返回的数据 
 * @param url 
 *        URL地址，参数直接挂在URL后面即可 
 * @return 
 */  
public static String getGetDateByUrl(String url){  

    String data = null;  
    //构造HttpCl...]]></description><category></category></item><item><title><![CDATA[Vue.js完全自学手册（图文教程）]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/79907875</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/79907875</guid><author>shuxing520</author><pubDate>Thu, 12 Apr 2018 09:35:45 +0800</pubDate><description><![CDATA[
                            
                        Vue.js（读音 /vjuː/, 类似于 view）是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手，还便于与第三方库或既有项目整合。另一方面，当与单文件组件和 Vue 生态系统支持的库结合使...]]></description><category></category></item><item><title><![CDATA[大白话浅谈分布式问题]]></title><link>https://blog.youkuaiyun.com/shuxing520/article/details/79877745</link><guid>https://blog.youkuaiyun.com/shuxing520/article/details/79877745</guid><author>shuxing520</author><pubDate>Tue, 10 Apr 2018 10:46:00 +0800</pubDate><description><![CDATA[分布式环境的特点 
分布性和并发性： 
在程序运行过程中，并发性操作是很常见的。比如一个分布式系统中的多个节点，同时访问同一个资源。 
无序性： 
进程之间的消息通信，会出现消息不一致的问题。

分布式环境下面临的问题 
1，网络通信： 
所谓的分布式架构是基于网络通信来进行消息交互的，但是网络本身就是不可靠的（例如光纤被挖断了，网线被老鼠给咬断了，火灾等等。。不可抗力因素存在），这些会导致你的业...]]></description><category></category></item></channel></rss>