<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[msbjyJava的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/msbjyJava</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; msbjyJava]]></copyright><item><title><![CDATA[骨灰级扫地神僧出版的《多线程与高并发》，2020你值得拥有]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106974306</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106974306</guid><author>msbjyJava</author><pubDate>Fri, 26 Jun 2020 21:28:25 +0800</pubDate><description><![CDATA[某粉丝年前参加某个NB企业的面试题列表：

聊聊synchronized的CPU原语级别实现
	有一千万个数，写一个程序进行高效求和
	已知2开平方为1.414，如何不用数学库，求开平方的值，精确到小数点儿后面10位
	编码实现两个线程，线程A不断打印1-10的数字，要求在打印到第五个数字的时候通知线程B
	自定义线程池需要指定哪7个参数，为什么不建议使用JUC内置线程池？
	高并发、任务执行时间短的业务怎样使用线程池？
	并发不高、任务执行时间长的业务怎样使用线程池？
	并发高、业务执行时间长的业务怎样使]]></description><category></category></item><item><title><![CDATA[JVM诊断之查看运行参数]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106843084</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106843084</guid><author>msbjyJava</author><pubDate>Fri, 19 Jun 2020 16:29:14 +0800</pubDate><description><![CDATA[问题描述


为了分析和定位一个Java线上系统问题，我们需要查看JVM启动时的一些参数设置，例如：垃圾回收算法、堆大小等等。这些参数可能在启动脚本中明确指明，也可能采用默认值。在系统运行过程中其他人也许动态调整了系统参数。 如何实时查看正在运行的JVM的参数呢？


解决方案


可以采用jcmd来查看正在运行的JVM的参数。jcmd从JDK 7开始引入的一个JVM诊断命令行工具，可以向运行中的JVM发送诊断命令。


查看JVM进程的PID


    $ jcmd -l
      27940 sun]]></description><category></category></item><item><title><![CDATA[腾讯T4大神精心整理，深入理解jvm]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106724178</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106724178</guid><author>msbjyJava</author><pubDate>Fri, 12 Jun 2020 22:12:02 +0800</pubDate><description><![CDATA[做java开发的几乎都知道jvm这个名词，但是由于jvm对实际的简单开发的来说关联的还是不多，一般工作个一两年，很少有人能很好的去学习及理解什么是jvm，以及弄清楚jvm的工作原理，个人认为这块还是非常有必要去认真了解及学习的，特别是刚入门或入门不久的java开发来说，这是java的基石。

当面试官向你提问JVM的实战问题时，你是否感觉到无所适从？想解决生产环境中的GC问题，你是否感觉到狗咬刺猬，无处下嘴？面对JVM的海量参数，是否感觉到迷茫无助？看过很多的JVM文章，但当遇到了生产环境中真实问题的时候，]]></description><category></category></item><item><title><![CDATA[JVM 高级特性]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106724226</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106724226</guid><author>msbjyJava</author><pubDate>Fri, 12 Jun 2020 21:52:01 +0800</pubDate><description><![CDATA[1、JVM体系结构

线程共享内存

可以被所有线程共享的区域，包括堆区、方法区、运行时常量池。

1.1 堆（Heap）

大多数时候，Java 堆是 Java 虚拟机管理的内存里最大的一块，所有的对象实例和数组都要在堆上分配内存空间，Java 对象可以分为两类，一类是快速创建快速消亡的，另一类是长期使用的。所以针对这种情况大多收集器都是基于分代收集算法进行回收。

Java 的堆可以分为新生代（Young Generation）和老年代（Old Generation），而新生代（Young Genera]]></description><category></category></item><item><title><![CDATA[资深大牛的建议，你想知道如何学习，怎么进入阿里吗？]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106628477</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106628477</guid><author>msbjyJava</author><pubDate>Mon, 08 Jun 2020 21:03:46 +0800</pubDate><description><![CDATA[引言

其实本来真的没打算写这篇文章，主要是小编的记忆力不是很好，不像一些记忆力强的人，面试完以后，几乎能把自己和面试官的对话都给记下来。小编自己当初面试完以后，除了记住一些聊过的知识点以外，具体的内容基本上忘得一干二净，所以写这篇文章其实是很有难度的。

但是，最近问小编的人实在是太多了，为了避免重复回答，给自己省点力气，干脆就在这里统一回复了。

其实之前小编写过一篇文章，但是那篇文章更多的是在讨论“面试前该不该刷题”这个话题，而这篇文章将会更加聚焦在面试前如何准备，以及工作当中如何学习这个话题上，而且]]></description><category></category></item><item><title><![CDATA[建议收藏|10000字全面图文讲解AQS以及ReentrantLock应用]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106571000</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106571000</guid><author>msbjyJava</author><pubDate>Fri, 05 Jun 2020 15:20:28 +0800</pubDate><description><![CDATA[写在前面

祝大家儿童节快乐????，保持童心，这篇文章作为儿童节礼物????送给大家。进入源码阶段了，写了十几篇的 并发系列 知识铺垫终于要派上用场了。相信很多人已经忘了其中的一些理论知识，别担心，我会在源码环节带入相应的理论知识点帮助大家回忆，做到理论与实践相结合，另外这是超长图文，建议收藏，如果对你有用还请点赞让更多人看到



Java SDK 为什么要设计 Lock

曾几何时幻想过，如果 Java 并发控制只有 synchronized 多好，只有下面三种使用方式，简单方便


publiccl]]></description><category></category></item><item><title><![CDATA[5000+收藏的Spring Boot面试核心总结，关键时刻可以救你一命！]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106570555</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106570555</guid><author>msbjyJava</author><pubDate>Fri, 05 Jun 2020 14:53:54 +0800</pubDate><description><![CDATA[技术面试时的你是否会有这样的感受：

面试官问的好多技术我都用到了，但面试官的问题我们时却不能给出准确的答案。

我们平常在项目中主要关注使用，程序run起来就ok了，很少去了解原理、架构、和性能调优。这样在面试问题中总有一种无法直击问题本质的无力感，很难充分表现自己，最终影响面试结果。

其实，这是很多Java研发人员遇到的普遍问题，不清楚原理，虽然用起来没问题，但讲起来有困难！

为了避免此类问题，本文针对面试中涉及到的Spring Boot核心知识点进行了总结，帮助大家查漏补缺，在技术面试中能够一路通]]></description><category></category></item><item><title><![CDATA[Spring Boot 密码加密的 2 种姿势！]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106547741</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106547741</guid><author>msbjyJava</author><pubDate>Thu, 04 Jun 2020 15:37:52 +0800</pubDate><description><![CDATA[先说一句：密码是无法解密的。

密码无法解密，还是为了确保系统安全。今天松就来和大家聊一聊，密码要如何处理，才能在最大程度上确保我们的系统安全。

1.为什么要加密

2011 年 12 月 21 日，有人在网络上公开了一个包含 600 万个某网站用户资料的数据库，数据全部为明文储存，包含用户名、密码以及注册邮箱。事件发生后该网站在微博、官方网站等渠道发出了声明，解释说此数据库系 2009 年备份所用，因不明原因泄露，已经向警方报案，后又在官网发出了公开道歉信。

在接下来的十多天里，金山、网易、京东、当当]]></description><category></category></item><item><title><![CDATA[面试阿里巴巴，只因不懂JVM，面试官让我回去等通知]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106547105</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106547105</guid><author>msbjyJava</author><pubDate>Thu, 04 Jun 2020 15:18:10 +0800</pubDate><description><![CDATA[前言

JVM的GC机制绝对是很多程序员的福音，它让Java程序员省去了自己回收垃圾的烦恼。从而可以把大部分时间专注业务身上，大大提高了业务开发速度，让产品需求尽快的落地抢占市场。但是也正因为如此，导致很多Java程序员对JVM和GC知之甚少，以我愚见大家对JVM&amp;GC不够了解的有几个原因：


	门槛太高。我们平常接触的spring，dubbo，java集合&amp;J.U.C，网上都有无数优秀的文章对其深入的分析。而且都是基于Java语言，我们在学习的过程中，可以自己很容易的debug源码更深入]]></description><category></category></item><item><title><![CDATA[13 个最火的 Java 开源项目推荐！总有一个适合你！]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106546055</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106546055</guid><author>msbjyJava</author><pubDate>Thu, 04 Jun 2020 14:33:04 +0800</pubDate><description><![CDATA[商城系统

Guide 哥注：下面的商城系统大多比较复杂比如 mall ,如果没有 Java 基础和 Spring Boot 都还没有摸熟的话不推荐过度研究下面几个项目或者使用这些项目当作毕业设计。

mall：mall 项目是一套电商系统，包括前台商城系统及后台管理系统，基于 SpringBoot+MyBatis 实现。
	mall-swarm: mall-swarm 是一套微服务商城系统，采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、..]]></description><category></category></item><item><title><![CDATA[把一致性哈希算法原理讲的最清楚的一篇]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106545856</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106545856</guid><author>msbjyJava</author><pubDate>Thu, 04 Jun 2020 14:27:39 +0800</pubDate><description><![CDATA[一致性Hash算法背景

　　一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的，设计目标是为了解决因特网中的热点(Hot spot)问题，初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题，使得DHT可以在P2P环境中真正得到应用。

　　但现在一致性hash算法在分布式系统中也得到了广泛应用，研究过memcached缓存数据库的人都知道，memcached服务器端本身不提供分布式cache的一致性，而是由客户端来提供，具体在计算一致性has]]></description><category></category></item><item><title><![CDATA[java程序员简历上的哪些内容才是面试者眼中的干货]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106524135</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106524135</guid><author>msbjyJava</author><pubDate>Wed, 03 Jun 2020 15:02:26 +0800</pubDate><description><![CDATA[已经连续五年参加大厂校招、社招的技术面试工作，简历看的不下于万份

这篇文章会用实例告诉你，什么是差的程序员简历！

疫情快要结束了，各个公司也都开始春招了，作为即将红遍大江南北的新晋UP主，那当然要为小伙伴们做点事（手动狗头）。

就在公众号里公开征简历，义务帮大家看，并一一点评。



一石激起千层浪，三天收到两百多封简历。

花光了两个星期的所有空闲时间，一一点评，一一回复，一一讨论与修正。

看光了所有简历以后，能称得上为范本的寥寥无几。

有些同学非常有实力，但看到他的简历时，根本不可能过简历筛选]]></description><category></category></item><item><title><![CDATA[来理解一下：SOA, SOAP, Web Service, WSDL等]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106523720</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106523720</guid><author>msbjyJava</author><pubDate>Wed, 03 Jun 2020 14:37:19 +0800</pubDate><description><![CDATA[什么是SOA、SOAP?


SOA是什么？
 SOA（Service-Oriented Architecture）的定义是面向服务的架构，就是说将软件按照功能设计成一个个服务，这些服务用标准的方式定义接口、并通过标准的协议进行调用。 SOA所定义的接口和调用方式是独立于编程语言和运行平台的，广义上讲SOA可以基于不同的底层技术实现，比如CORBA和Web Services。但CORBA由于过于复杂和臃肿已很少使用，所以目前所说的SOA绝大多数是基于Web Services技术实现。在Web Se...]]></description><category></category></item><item><title><![CDATA[终于明白阿里百度，总是拿ThreadLocal经常考验求职者了]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106523303</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106523303</guid><author>msbjyJava</author><pubDate>Wed, 03 Jun 2020 14:32:03 +0800</pubDate><description><![CDATA[什么是ThreadLocal

ThreadLocal是一个本地线程副本变量工具类，各个线程都拥有一份线程私有的数据，线程之间的变量互不干扰，在高并发场景下，可以实现无状态的调用。

ThreadLocal提供了线程安全的另一种思路，我们平常说的线程安全主要是保证共享数据的并发访问问题，通过sychronized锁或者CAS无锁策略来保证数据的一致性。

ThreadLocal结构图




从上面的结构图，我们已经窥见ThreadLocal的核心机制：

每个Thread线程内部都有一个Map。
	Map]]></description><category></category></item><item><title><![CDATA[如何快速入门java spring]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106523234</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106523234</guid><author>msbjyJava</author><pubDate>Wed, 03 Jun 2020 14:17:42 +0800</pubDate><description><![CDATA[好记忆不如烂笔头, 能记下点什么, 就记下点什么, 方便后期的巩固

Spring介绍

Spring 是一个开源框架，是一个分层的 JavaEE 一站式框架。

所谓一站式框架是指 Spring 有 JavaEE 开发的每一层解决方案。


	WEB层：SpringMVC
	
	
	Service层：Spring的Bean管理，声明式事务
	
	
	DAO层：Spring的JDBC模板，ORM模板
	
优点：


	IOC：方便解耦合
	
	
	AOP：对程序进行扩展
	
	
	轻量级框架
	
	
	方便]]></description><category></category></item><item><title><![CDATA[短时间如何过Java校招]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106500442</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106500442</guid><author>msbjyJava</author><pubDate>Tue, 02 Jun 2020 17:10:40 +0800</pubDate><description><![CDATA[结合我的经历，简单聊聊我的看法吧。

信息差



很多没听说过校招的同学会认为：我找工作肯定是在毕业之后找的啊，这有毛病吗？

仅仅听过「校招」这个词的同学可能想的是：校招不就是企业现场到我的学校或者隔壁的学校招聘吗，这有啥的？

如果参加过校招的同学肯定会说：这肯定有毛病啊，哪有毕业之后才找工作的。是谁告诉你校招仅仅就是企业现场到学校招聘的？

「校招」的经历

笔者毕业于一个九流的学校，那是怎么知道有「校招」这一回事的呢？学校自然是没有告诉我的，身边的同学也几乎都不知道的，我在奋战秋招的那段时间也没有]]></description><category></category></item><item><title><![CDATA[如何学习sql？]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106495221</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106495221</guid><author>msbjyJava</author><pubDate>Tue, 02 Jun 2020 14:15:15 +0800</pubDate><description><![CDATA[SQL精通难但是很容易上手，如果只是为面试准备的话，大概只要认真准备3-4天就可以达到不会被面试官难倒的程度

SQL快速学习分三步：学SQL语法-&gt;集中刷题-&gt;花式刷题

1、关系型数据库+SQL语法

有需要详细资料的可以加qq群：993091016具体了解哈



SQL基本语法
心中熟记SQL魔咒：select from where group by having order by


SELECT  [ALL|DISTINCT]  &lt;列名&gt; as &lt;别称&gt;  []]></description><category></category></item><item><title><![CDATA[面试官必问，你却没见过的设计模式其一：命令模式]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106470620</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106470620</guid><author>msbjyJava</author><pubDate>Mon, 01 Jun 2020 13:36:09 +0800</pubDate><description><![CDATA[命令模式
命令模式很好理解，举个例子，司令员下令让士兵去干件事情，从整个事情的角度来考虑，司令员的作用是，发出口令，口令经过传递，传到了士兵耳朵里，士兵去执行。这个过程好在，三者相互解耦，任何一方都不用去依赖其他人，只需要做好自己的事儿就行，司令员要的是结果，不会去关注到底士兵是怎么实现的。我们看看关系图：



Invoker是调用者（司令员），Receiver是被调用者（士兵），MyCommand是命令，实现了Command接口，持有接收对象，看实现代码：


public interface Comm]]></description><category></category></item><item><title><![CDATA[工作8年高专程序员的真实感悟]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106469135</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106469135</guid><author>msbjyJava</author><pubDate>Mon, 01 Jun 2020 11:27:55 +0800</pubDate><description><![CDATA[还记得自己刚开始进入软件开发行业的时候，也是在网上看了好多大佬的工作总结，每次看完总是踌躇满志，像打了鸡血一样充满干劲。

斗者，与天斗，其乐无穷；与地斗，其乐无穷；与人斗，其乐无穷。

2013年，算是我正式踏上软件开发的第二年，咱们直入正题





关于程序员高薪的一些看法？

现在网上各种流行程序员动不动年薪百万，我想澄清下，大部分都是标题党为了吸引眼球和访问量，里面一般都是推荐一些培训课程或者公众号。

怎么拿到年薪百万？

大部分都是一线互联网公司，类似阿里，腾讯，华为，至少P6以上的核心技术.]]></description><category></category></item><item><title><![CDATA[从一无所知到Java研发4面已拿offer总结]]></title><link>https://blog.youkuaiyun.com/msbjyJava/article/details/106469075</link><guid>https://blog.youkuaiyun.com/msbjyJava/article/details/106469075</guid><author>msbjyJava</author><pubDate>Mon, 01 Jun 2020 11:26:03 +0800</pubDate><description><![CDATA[前言：


面试一直是大家关注的问题，包括最近有很多人跟我讲投了很多简历出去，就像泥牛入海一样了无音讯了，工作难找。不少人问我怎么办，讲真，我也无能为力。


很多Java程序员在面试时都有这样的苦衷：

我掌握了很多Java开发技巧，每次到笔试环节，死活就是答不上；
	明明是一个职场老手，和面试官聊天，简单的技术问题都吞吞吐吐；

面试只是对个人技术及应变能力的一次考验。只有解决了一个问题，你才有机会遇见下一个问题。以下面试题由群友提供或网上收集整理，共勉。








以下分享一份某大厂Java..]]></description><category></category></item></channel></rss>