<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[angle_sun的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/angle_sun</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; angle_sun]]></copyright><item><title><![CDATA[java 锁机制]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/88071584</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/88071584</guid><author>angle_sun</author><pubDate>Sat, 02 Mar 2019 03:35:29 +0800</pubDate><description><![CDATA[重量级锁与轻量级锁的区别？？重在哪里？？轻在哪里？？


1、用户态与内核态交互的过程中，需要发生系统调用，这个步奏所需要的时间是比较长的。

2、java的线程实现是在用户态创建用户线程，然后将线程交给内核进行管理、调度，所以挂起、唤醒都需要从用户态切换到内核态。

3、重量级锁，当一个线程获取到了锁，另一个线程这个时候也来获取锁。因为锁被其他线程占用，所以后面的这个线程需要挂起等待，线程挂起...]]></description><category></category></item><item><title><![CDATA[Java中范型的重载]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/88071556</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/88071556</guid><author>angle_sun</author><pubDate>Sat, 02 Mar 2019 02:42:41 +0800</pubDate><description><![CDATA[问题: 什么是范型？？？
答案：java中可以用T或其他大写字母代替一个未知的类型，例如 定义类的时候 class A&amp;lt;T&amp;gt;中的T就是一个范型，T可以代替任何类型或者类。

问题：为什么java的范型是一个假范型？？
答案：因为java的代码在编译成class文件之后，会将范型给去掉。会用object代替范型。所以java的范型是假范型。
例如：
`
public (T) List&amp;l...]]></description><category></category></item><item><title><![CDATA[Java多态之前期静态绑定与后期动态绑定]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/80206045</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/80206045</guid><author>angle_sun</author><pubDate>Sat, 05 May 2018 15:12:23 +0800</pubDate><description><![CDATA[多态是面向对象中一个非常重要的功能，因为多态对象在运行的时候才知道真正类型是什么。在java中对方法的调用分为静态绑定和动态绑定两个功能。
静态绑定
  静态绑定的意思是在编译的时候就确定要调用的方法，就直接指向要调用的方法，该种类型只有具有以下修饰符的才会是：属性、【final、static、private的方法】，因为在编译的时候就确定了，所以调用的是声明对象的方法，而不是引用对象的。
动态绑定]]></description><category></category></item><item><title><![CDATA[Maven setting中配置阿里仓库]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/80193855</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/80193855</guid><author>angle_sun</author><pubDate>Fri, 04 May 2018 13:29:13 +0800</pubDate><description><![CDATA[在jar中拉取jar包，在国内有的jar包拉取非常慢，配置阿里仓库会大大加快jar包的拉取
第一步在mirrors中配置一个阿里的mirror<mirrors>
<mirror>
        <id>nexus</id>
        <mirrorOf>*</mirrorOf>        <url>http://maven.aliyun.com/nexus/content/groups/]]></description><category></category></item><item><title><![CDATA[Git小命令]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/80106945</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/80106945</guid><author>angle_sun</author><pubDate>Fri, 27 Apr 2018 13:44:58 +0800</pubDate><description><![CDATA[
  最近对git版本回退的git reset, git revert, git checkout 有点迷糊不解，所以把当前的心得记录下来，方便以后学习。
  
  git中默认存在两个指针分别是HEAD和MASTER指针，HEAD指针一直指向当前所在的位置，可以指向任意分支。MASTER指针指向最新的master分支代码。




git reset –hard [commit]


  git...]]></description><category></category></item><item><title><![CDATA[正数、负数求原码、反码、补码]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/79931130</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/79931130</guid><author>angle_sun</author><pubDate>Fri, 13 Apr 2018 16:39:44 +0800</pubDate><description><![CDATA[
  二进制，有符号数，首位为1的是负数，首位为0的是正数。(规定） 
  无符号数没有正负之分，所以也没有首位的限制。(规定) 
  （以下示例皆以八位二进制表示)


无符号数


  无符号数的原码、反码、补码都一样，皆为该数的二进制表示法




原码 反码 补码



定义


  无符号数的原码为该数的二进制表示法 
  无符号数的反码与原码一样 
  无符号数的补码与原码一样



...]]></description><category></category></item><item><title><![CDATA[同步、异步、阻塞、非阻塞的思考]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/78952257</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/78952257</guid><author>angle_sun</author><pubDate>Tue, 02 Jan 2018 15:24:32 +0800</pubDate><description><![CDATA[同步、异步、阻塞、非阻塞的思考2018第一篇博客，坚持下去。
好久没有写博客，应该坚持下去这个好习惯。
以前对同步、异步、阻塞、非阻塞知道是什么，但是从来没有深入思考他们对区别是什么。但是最近在了解bio、nio、aio(本文对io不进行讲述)的时候，感觉对这几个概念对理解还是满模糊对，所以又进行思考了一下，但是不确定是对还是不对，但是还是记录下来，等各位同学来帮忙指正一下吧。我的感觉同步和异步这两]]></description><category></category></item><item><title><![CDATA[Centos安装Redis做缓存]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/65937754</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/65937754</guid><author>angle_sun</author><pubDate>Sat, 25 Mar 2017 16:37:03 +0800</pubDate><description><![CDATA[Redis是一个高性能的，开源key-value型数据库。是构建高性能，可扩展的Web应用的完美解决方案，可以内存存储亦可持久化存储。因为要使用跨进程，跨服务级别的数据缓存，在对比多个方案后，决定使用Redis。顺便整理下Redis的安装过程，以便查阅。 
1 . 下载Redis 
目前，最新的Redist版本为3.0，使用wget下载，命令如下：
# wget http://download.re]]></description><category></category></item><item><title><![CDATA[centos7安装mysql]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/61618275</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/61618275</guid><author>angle_sun</author><pubDate>Sun, 12 Mar 2017 15:11:50 +0800</pubDate><description><![CDATA[安装环境：CentOS7 64位 MINI版，安装MySQL5.7在MySQL官网中下载YUM源rpm安装包：http://dev.mysql.com/downloads/repo/yum/ 下载mysql源安装包
  shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装mysql源]]></description><category></category></item><item><title><![CDATA[mysql源码安装]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/61618037</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/61618037</guid><author>angle_sun</author><pubDate>Sun, 12 Mar 2017 15:01:34 +0800</pubDate><description><![CDATA[1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件(1)先安装cmake（mysql5.5以后是通过cmake来编译的）[root@ rhel5 local]#tar -zxv -f cmake-2.8.4.tar.gz 
[root@ rhel5 local]#cd cmake-2.8.4 
[root@ rhel5 cmake-2.8.4]#.]]></description><category></category></item><item><title><![CDATA[Linux小命令]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/53411814</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/53411814</guid><author>angle_sun</author><pubDate>Wed, 30 Nov 2016 18:42:51 +0800</pubDate><description><![CDATA[摘自：http://www.dajiangtai.com/community/55.do?origin=csdn-geek&dt=1129
系统
  uname -a               # 查看内核/操作系统/CPU信息 
   head -n 1 /etc/issue   # 查看操作系统版本 
    cat /proc/cpuinfo      # 查看CPU信息 
    host]]></description><category></category></item><item><title><![CDATA[后台启动jar包]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/53208961</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/53208961</guid><author>angle_sun</author><pubDate>Fri, 18 Nov 2016 00:32:14 +0800</pubDate><description><![CDATA[命令：nohup java -jar *.jar & 
如果不用这个命令当退出终端的时候，进程也会强制退出]]></description><category></category></item><item><title><![CDATA[向maven仓库中安装本地jar包]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/53128756</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/53128756</guid><author>angle_sun</author><pubDate>Fri, 11 Nov 2016 14:53:57 +0800</pubDate><description><![CDATA[Maven 安装 JAR 包的命令是：
  mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面的version -Dpackaging=jar
例如： 
我下载的这个 jar 包是放到了 D:\mvn 目录下(D:\mvn\spring-context]]></description><category></category></item><item><title><![CDATA[ubuntu中为软件制作桌面启动项]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/52966725</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/52966725</guid><author>angle_sun</author><pubDate>Sat, 29 Oct 2016 21:16:40 +0800</pubDate><description><![CDATA[学习在于总结。
ubuntu为webstorm制作桌面启动项，只需要在/usr/share/applications文件夹下添加一个*.desktop文件即可。文件格式如下：[Desktop Entry]Version=1.0Name=webstorm //桌面启动器名字Exec=/opt/work/webstorm/bin/webstrom.sh //桌面启动器启动文件Termina=falseI]]></description><category></category></item><item><title><![CDATA[Maven中Pom文件打包配置build]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/52799559</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/52799559</guid><author>angle_sun</author><pubDate>Wed, 12 Oct 2016 19:07:50 +0800</pubDate><description><![CDATA[
  摘自：https://my.oschina.net/simpleton/blog/607776




方法一



&amp;lt;build&amp;gt;
    &amp;lt;finalName&amp;gt;###架包名###&amp;lt;/finalName&amp;gt;
    &amp;lt;sourceDirectory&amp;gt;src/main/java&amp;lt;/sourceDirectory&amp;gt;
    &amp;lt;re...]]></description><category></category></item><item><title><![CDATA[向yml文件传递参数，ansible-playbook命令]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/52728105</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/52728105</guid><author>angle_sun</author><pubDate>Mon, 03 Oct 2016 14:58:16 +0800</pubDate><description><![CDATA[用命令行传递参数定义命令行变量在release.yml文件里，hosts和user都定义为变量，需要从命令行传递变量值。
hosts: ‘{{ hosts }}’ 
remote_user: ‘{{ user }}’tasks:… 
使用命令行变量
在命令行里面传值得的方法： ansible-playbook e33_var_in_command.yml --extra-vars "hosts=we]]></description><category></category></item><item><title><![CDATA[docker镜像仓库的安装(apphouse)]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/52705476</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/52705476</guid><author>angle_sun</author><pubDate>Thu, 29 Sep 2016 22:14:47 +0800</pubDate><description><![CDATA[转载: 安装官网地址提示 http://www.youruncloud.com/help/91.html
第一步：关闭防火墙 
ubuntu:
  sudo ufw disable
centos:
  systemctl disable firewalld.service
注：如果不关闭防火墙，可通过以下的方式将相应的端口打开：
  /sbin/iptables -I INPUT -p tcp –d]]></description><category></category></item><item><title><![CDATA[mysql中ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing t]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/52550763</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/52550763</guid><author>angle_sun</author><pubDate>Thu, 15 Sep 2016 20:15:25 +0800</pubDate><description><![CDATA[解决方案： 
进入mysql中，输入一下命令:
  alter user ‘root’@’localhost’ identified by ‘root’;      //当让也可以为其他用户这样做 
  flush privileges;]]></description><category></category></item><item><title><![CDATA[linux文件的链接]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/52550580</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/52550580</guid><author>angle_sun</author><pubDate>Thu, 15 Sep 2016 19:03:13 +0800</pubDate><description><![CDATA[在linux中，文件的链接分为硬链接和软链接。一、硬链接在linux中，每一个文件都会被指定有一个节点，存储器在查找文件的时候，都是通过这个节点进行判断的。而在linux中允许一个节点，指向多个文件，这多个文件是等价的。所以这样就产生了硬链接。 
硬链接就是为一个文件创建一个副本，这个副本指向这个文件的节点。所以这个文件和它的副本就是等价的。二者中丢失任意一个都不会影响到这个节点。但是如果指向这个节]]></description><category></category></item><item><title><![CDATA[Linux 小命令总结]]></title><link>https://blog.youkuaiyun.com/angle_sun/article/details/52549388</link><guid>https://blog.youkuaiyun.com/angle_sun/article/details/52549388</guid><author>angle_sun</author><pubDate>Thu, 15 Sep 2016 12:31:51 +0800</pubDate><description><![CDATA[centos中查看安装了那些软件：
  rpm -qa
centos中查看某个软件是否安装:
  rpm -qa|grep 软件名
centos卸载软件:
  centos -e 软件名
centos查看包被安装在哪里:
  rpm -ql　包名
ubuntu查看安装的软件:
  dpkg -l
ubuntu查看某个是否被安装:
  dpkg -l |grep 软件名
ubuntu查看软件安装的位置]]></description><category></category></item></channel></rss>