<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[每日搜罗]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/codeJavaStack</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; codeJavaStack]]></copyright><item><title><![CDATA[Synchronized 底层原理总结]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/120177913</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/120177913</guid><author>codeJavaStack</author><pubDate>Wed, 08 Sep 2021 13:19:23 +0800</pubDate><description><![CDATA[一.synchronized介绍
synchronized是JVM内置锁，通过内部对象Monitor（监视器锁）来实现，基于进入与退出monitor对象来实现方法与代码块的同步，监视器锁的实现，最终依赖操作系统的Mutex lock（互斥锁）来实现。
二.synchronized使用方式
synchronized 主要有3种使用方式。
1.同步类方法
public synchronized void method()
{
   // todo
}
锁的是当前类对象；
2.同步代码块
public class]]></description><category></category></item><item><title><![CDATA[Github重磅教程，从0到1，边学边实战！]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/119760724</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/119760724</guid><author>codeJavaStack</author><pubDate>Tue, 17 Aug 2021 16:54:24 +0800</pubDate><description><![CDATA[据我所知，刚开始入门编程的都止步开始和选择，可选的很多，java，Python，前端，golang等等，如果没有好的选择可以和于小二来说话。如果没有什么好的选择，我建议你去学习java吧

作者：ljdgm
链接：https://www.cnblogs.com/downey/p/5301999.html
来源：cnblogs

一、基础篇
1.1 JVM
1.1.1. Java内存模型，Java内存管理，Java堆和栈，垃圾回收

http://www.jcp.org/en/jsr/detail?id=13]]></description><category></category></item><item><title><![CDATA[大厂用的Hystrix到底有什么优点？]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/119673267</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/119673267</guid><author>codeJavaStack</author><pubDate>Fri, 13 Aug 2021 13:13:42 +0800</pubDate><description><![CDATA[为什么需要hystrix
hystrix官网地址github

Hystrix同样是netfix公司在分布式系统中的贡献。同样的也进入的不维护阶段。不维护不代表被淘汰。只能说明推陈出新技术在不断迭代。曾今的辉煌曾经的设计还是值得我们去学习的。
在分布式环境中，服务调度是特色也是头疼的一块。在服务治理章节我们介绍了服务治理的功能。前一课我们也介绍了ribbon、feign进行服务调用。现在自然的到了服务监控管理了。hystrix就是对服务进行隔离保护。以实现服务不会出现连带故障。导致整个系统不可用



如上]]></description><category></category></item><item><title><![CDATA[HashMap的负载因子为什么默认是0.75？这篇文章告诉你答案]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/119319358</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/119319358</guid><author>codeJavaStack</author><pubDate>Mon, 02 Aug 2021 10:17:52 +0800</pubDate><description><![CDATA[前几天在一个群里看到有人讨论hashmap中的加载因子为什么是默认0.75。
HashMap源码中的加载因子
static final float DEFAULT_LOAD_FACTOR = 0.75f;  

当时想到的是应该是“哈希冲突”和“空间利用率”矛盾的一个折衷。
跟数据结构要么查询快要么插入快一个道理，hashmap就是一个插入慢、查询快的数据结构。
加载因子是表示Hsah表中元素的填满的程度。
加载因子越大,填满的元素越多,空间利用率越高，但冲突的机会加大了。
反之,加载因子越小,填满的元素越]]></description><category></category></item><item><title><![CDATA[如何设计短网址系统?]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/119215474</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/119215474</guid><author>codeJavaStack</author><pubDate>Thu, 29 Jul 2021 17:04:30 +0800</pubDate><description><![CDATA[短网址的长度
短网址的长度该设计为多少呢？ 当前互联网上的网页总数大概是 45亿(参考&nbsp;http://www.worldwidewebsize.com)，超过了 232=42949672962^{32}=4294967296232=4294967296，那么用一个64位整数足够了。
一个64位整数如何转化为字符串呢？，假设我们只是用大小写字母加数字，那么可以看做是62进制数，log62(264−1)=10.7log_{62} {(2^{64}-1)}=10.7log62​(264−1)=10.7，]]></description><category></category></item><item><title><![CDATA[30k的大佬告诉你怎么入门编程行业？]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/119009220</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/119009220</guid><author>codeJavaStack</author><pubDate>Thu, 22 Jul 2021 21:22:45 +0800</pubDate><description><![CDATA[作者：Trey Huffine
译者：冬雨策划 |
本文最初发布于 Level Up Coding，经原作者授权由 InfoQ 中文站翻译并分享。

目前Web 开发人员的需求达到了历史最高水平，而且目前还在不断增长。互联网上有一些免费教程和收费的高级教程，本文将学习路线图分解开，详细介绍了有效学习各部分所需的技能以及相应的教程，大家可以根据自己的需要，选择最适合自己的方式，学到自己所需的知识和技能。

现在是学习编程或转行从事软件工程的最佳时机。业界对 Web 开发人员的需求达到了历史最高水平，而且目前.]]></description><category></category></item><item><title><![CDATA[【问答分享第二弹】 Mysql的搜索引擎 ，看完暴虐面试官！]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/118991772</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/118991772</guid><author>codeJavaStack</author><pubDate>Thu, 22 Jul 2021 09:52:39 +0800</pubDate><description><![CDATA[大家好，我是小于哥啊，前几天能分享了第二期面试题MySQL 中搜索引擎的面试考点，这道题是面试常温的面试，看完在数据库引擎方面，我相信你一定会有收获的
还没有看我第一分享的可以去参考下：
第一期分享: 【问答分享第一弹】关于MySQL行锁、表锁、排他锁、共享锁，看完吊打面试官！

首发于公众号【终端研发部】

核心点
1、搜索引擎InnoDB和MyIsam的区别和联系
2、Memory的相关的 知识的补充
目标
1、搜索引擎InnoDB和MyIsam的区别和联系
2、Memory的相关的 知识的补充
3、关]]></description><category></category></item><item><title><![CDATA[阿里2021最全新的java面试题总结]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/118876501</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/118876501</guid><author>codeJavaStack</author><pubDate>Sun, 18 Jul 2021 13:52:34 +0800</pubDate><description><![CDATA[前言
2021马上金九银十进入招聘旺季了，现为大家整理了这次金九银十面试阿里的面试题总结，都是我从朋友那拿到的面试真题，话不多说，满满的干货分享给大家！
int a=10是原子操作吗？
是的。
注意点：


i++(或++i)是非原子操作，i++是一个多步操作，而且是可以被中断的。i++可以被分割成3步，第一步读取i的值，第二步计算i+1；第三部将最终值赋值给i。


int a = b;不是原子操作。从语法的级别来看，这是也是一条语句，是原子的；但是从实际执行的二进制指令来看，由于现代计算机CPU架构体系]]></description><category></category></item><item><title><![CDATA[Linux命令行与shell脚本编程大全.pdf学习]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/118758104</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/118758104</guid><author>codeJavaStack</author><pubDate>Thu, 15 Jul 2021 14:05:29 +0800</pubDate><description><![CDATA[这是一本关于 Linux 命令行与 shell 脚本编程的全方位教程，主要包括四大部分 ：Linux 命令行，shell
脚本编程基础，高级 shell 脚本编程，如何创建实用的 shell 脚本。本书针对 Linux 系统的最新特性进行了全面更新，不仅涵盖了详尽的动手教程和现实世界中的实用信息，还提供了与所学内容相关的参考信息和背景资料。通过本书的学习，你将轻松写出自己的 shell 脚本。

本书适合 Linux 程序设计人员阅读。


核心Linux发行版含有内核、一个或多个图形化桌面环境以及预编译好]]></description><category></category></item><item><title><![CDATA[三万字，100题！Linux知识汇总！]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/118724864</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/118724864</guid><author>codeJavaStack</author><pubDate>Wed, 14 Jul 2021 12:46:30 +0800</pubDate><description><![CDATA[这篇文章主要介绍了三万字，100题！Linux知识汇总！以及相关的经验技巧，文章约160077字，浏览量243，点赞数7，值得参考！
导读：本文整理了最新的Linux面试题，近3万字，约100道题，分享至此，希望对大家有帮助。
一、Linux 概述
1. 什么是Linux
Linux是一套免费使用和自由传播的类Unix操作系统，是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix]]></description><category></category></item><item><title><![CDATA[【问答分享第一弹】MySQL锁总结:MySQL行锁、表锁、排他锁、共享锁的特点]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/118611020</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/118611020</guid><author>codeJavaStack</author><pubDate>Fri, 09 Jul 2021 17:20:39 +0800</pubDate><description><![CDATA[大家好，我是小于哥哈。前几天能分享了第一期面试题，MySQL 中有哪几种锁 和 这些锁各有哪些特点 ，这道面试题是经常会被问到的一个面试题，大家反馈的都挺不错的。今天特此来总结一下。

首发于公众号【终端研发部】

核心
Mysql锁机制，分为哪些锁，有什么样的特点？
目标

锁的分类
锁的特点
锁的应用场景











事务并发带来的问题与解决方案


补充
1.脏读：一个事务可以读取到另一个事务未提交的数据。如下图：

解决脏读：修改数据时加上写锁

不可重复读：在一个事务中不同时间段查询出现]]></description><category></category></item><item><title><![CDATA[全网超硬核程序必读资源免费分享]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/118514189</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/118514189</guid><author>codeJavaStack</author><pubDate>Tue, 06 Jul 2021 09:54:18 +0800</pubDate><description><![CDATA[Java是一门面向对象编程语言。向对象编程是Java最核心的思想，这也是区分和C等其他编程语言的一个显著特征。掌握面一门语言，首先得掌握它的思想，思想决定高度。这就和我们学习语文和英语一样，汉语学拼音，英语学音标。抓住了核心，学习起来就事半功倍。
首先一手资源是官网文档，其次是一些大神的书籍，国外的大神多一些，毕竟这些语言都是老外发明的，比如经典的java入门书籍《新手学Java 7编程（第5版）.pdf》《 Thinking.In.Java(中文版).pdf》等等。其次就是中文书籍、中文教学视频了。

对]]></description><category></category></item><item><title><![CDATA[刚学习java如何快速的找到优秀的资源？]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/118359088</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/118359088</guid><author>codeJavaStack</author><pubDate>Wed, 30 Jun 2021 13:36:35 +0800</pubDate><description><![CDATA[选择做程序员就要有一颗保持学习的心，因为技术更新快、需求变化快……所以得时刻保持学习才能不被淘汰。正因为如此，我认为我们程序员的自学能力还是挺不错的，嘻嘻~
说到自学，就出现了“如何找到自己想要的资源”的问题了，其实关于如何找到资源，我想基本都知道，去谷歌、去百度一搜就出来了，但是我想要说的是如何更好的找到想要的资源，而不只是谷歌和百度搜索，毕竟有时候搜索出来的形形色色，还需要自己再次筛选一遍，真的挺累的。
这里有Springboot,Springcloud，dubbo，redis，zoopeeker，mq]]></description><category></category></item><item><title><![CDATA[阿里架构师深剖线程池内部工作原理]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/117695332</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/117695332</guid><author>codeJavaStack</author><pubDate>Tue, 08 Jun 2021 11:35:26 +0800</pubDate><description><![CDATA[如果并发的线程数量很多，并且每个线程都是执行一个时间很短的任务就结束了，这样频繁创建线程就会大大降低系统的效率，因为频繁创建线程和销毁线程需要时间。
那么有没有一种办法使得线程可以复用，就是执行完一个任务，并不被销毁，而是可以继续执行其他的任务？
在Java中可以通过线程池来达到这样的效果。今天我们就来详细讲解一下Java的线程池，首先我们从最核心的ThreadPoolExecutor类中的方法讲起，然后再讲述它的实现原理，接着给出了它的使用示例，最后讨论了一下如何合理配置线程池的大小。
1.线程池的创建
]]></description><category></category></item><item><title><![CDATA[阿里三连问： 事务传播行为到底是什么?]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/117659495</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/117659495</guid><author>codeJavaStack</author><pubDate>Mon, 07 Jun 2021 13:58:14 +0800</pubDate><description><![CDATA[阿里三面的事务传播行为到底是什么?
世人都劝我们要适应环境，其实，他们忘了，我们也是环境的一部分，会影响、鞭策着他人，所以，改变自己更是改变环境的一种呀。从我做起，开始学习，继续坚持，Java的未来，还靠你们。大家加油！。没错，对于整个职业生涯来说，现在的确是刚开始。
事务传播行为
什么叫事务传播行为？听起来挺高端的，其实很简单。
即然是传播，那么至少有两个东西，才可以发生传播。单体不存在传播这个行为。
事务传播行为（propagation behavior）指的就是当一个事务方法被另一个事务方法调用时，这]]></description><category></category></item><item><title><![CDATA[做了五年的开发，一面试竟然还不知道Zab协议？]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/117557374</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/117557374</guid><author>codeJavaStack</author><pubDate>Fri, 04 Jun 2021 12:58:25 +0800</pubDate><description><![CDATA[大家好，我是你们的小码哥。最近从后台收到很多人的私聊，其中最常见的就是关于Zookeeper相关的面试问题
作为一名面试官，我在面试别人的时候，经常反复拿来问别人的一个问题，最近详细整理了一下，跟大家分享一下。总结的不好的地方或者有不同见解的地方欢迎大家私聊我一起探讨。
什么是Zab协议
​ ZAB协议，全称 Zookeeper Atomic Broadcast（Zookeeper 原子广播协议）。它是专门为分布式协调服务——Zookeeper，设计的一种支持崩溃恢复和原子广播的协议。
从设计上看，ZAB协]]></description><category></category></item><item><title><![CDATA[三分钟了解Java“锁”事，进大厂不难！]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/117464877</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/117464877</guid><author>codeJavaStack</author><pubDate>Wed, 02 Jun 2021 12:42:34 +0800</pubDate><description><![CDATA[最近在后台有人经常问我关于java面试方面的一些问题，记得印象中最多的就是java中锁机制的问题。如果你干java工作了五六年，还不知道乐观锁和悲观锁， 自旋锁和适应性自旋锁的话，那么你就只能做一个搬砖的工程师了。
今天宇哥来带你看一下这锁方面的几个问题。希望能够帮助到你

Java提供了种类丰富的锁，每种锁因其特性的不同，在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码（本文中的源码来自JDK 8和Netty 3.10.6）、使用场景进行举例，为读者介绍主流锁的知识点，以及不同的锁的适用场景。
]]></description><category></category></item><item><title><![CDATA[Java面试必问题目：AQS原理深度剖析，看完吊打面试官！]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/117447803</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/117447803</guid><author>codeJavaStack</author><pubDate>Tue, 01 Jun 2021 17:23:05 +0800</pubDate><description><![CDATA[大家好，我是小马哥。最近并发编程是大厂面试中重点考察的问题。今天我们来探讨一下AQS相关的面试技巧。毕竟此类问题回答的好坏会在很大程度上影响我们面试的得分。
1. AQS在java中的使用
给代码加锁，是java中处理并发问题的重要手段。
java中的很多锁都是基于抽象类AQS（AbstractQueuedSynchronizer）实现的。
如下表所示：

2. AQS的实现机制
AQS提供了实现锁的机制，即CLH队列，同时通过ConditionObject实现了条件等待链表。
其中CLH队列如下：



]]></description><category></category></item><item><title><![CDATA[8年的Java后台开发，为什么 还不知道分布式限流？看完涨薪翻倍了]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/117413955</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/117413955</guid><author>codeJavaStack</author><pubDate>Mon, 31 May 2021 12:14:10 +0800</pubDate><description><![CDATA[什么是限流

在开发高并发系统时有三把利器用来保护系统：缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量，可谓是抗高并发流量的银弹；而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉，待高峰或者问题解决后再打开；而有些场景并不能用缓存和降级来解决，比如稀缺资源（秒杀、抢购）、写服务（如评论、下单）、频繁的复杂查询（评论的最后几页），因此需有一种手段来限制这些场景的并发/请求量，即限流。
为什么要限流
Java程序员在大厂面试时 或者 想拿到一份不错的薪资时，肯定会涉及到分布式程]]></description><category></category></item><item><title><![CDATA[5分钟学后台—面试必死要问的问题：你了解Java的AQS吗?]]></title><link>https://blog.youkuaiyun.com/codeJavaStack/article/details/117369554</link><guid>https://blog.youkuaiyun.com/codeJavaStack/article/details/117369554</guid><author>codeJavaStack</author><pubDate>Fri, 28 May 2021 17:53:12 +0800</pubDate><description><![CDATA[AQS简介
AQS是一个抽象类，不可以被实例化，它的设计之初就是为了让子类通过继承来实现多样的功能的。它内部提供了一个FIFO的等待队列，用于多个线程等待一个事件（锁）。它有一个重要的状态标志——state，该属性是一个int值，表示对象的当前状态（如0表示lock，1表示unlock）。AQS提供了三个protected final的方法来改变state的值，分别是：getState、setState(int)、compareAndSetState(int, int)。根据修饰符，它们是不可以被子类重写的]]></description><category></category></item></channel></rss>