Java
文章平均质量分 92
程序员cxuan
个人微信号【lx252279279】 一起学习,交流。
展开
-
我爱上了这个网站
上次我们说到银河系狂奔号坠落在一个陌生的星球上,由于飞船撞上山腰,导致船体受损,船员们经过努力后发现他们的飞船无法继续使用,他们渐渐失去了回家的希望,于是不得不在这个陌生的星球先安家。偶然的机会,飞机导航员艾莉发现了星球上存在着很多野生机器人,他们能够帮助清理岩石,继而把飞机救出来,不过他们太原始了,无法直接操作,他们必须编写一些程序指令来操作他们,于是他们打算培养一个最有前途的叫阿米戈的机器人,通过编写 Java 程序来帮助船员们回家。这个阿米戈就是屏幕中的你,所以靠你来救他们了,朋友!刚开始第一章是原创 2022-05-25 11:08:19 · 9887 阅读 · 8 评论 -
给大家送 10 本书,人人都有机会。
我今天收到了一个快递。。。。。。打开一看,惊喜满满。。。。。。出版社又给我送好东西了!!!为了照顾不同年龄段和不同读者的喜好,此篇文章对这些书的描述分为两个版本,我管他起名:骚话版和正经话版。首先是骚话版:xdm,先不用急着羡慕我,因为你也有机会,谁说的?我说的!@#¥%……&*()我们先来分析一下这几本书都是干啥的好吧(怎么着也得照顾一下没看过的同学不是)首先位于图片左下角,那个画着个杯子的两本书是 《Java核心技术卷一》和《Java核心技术卷二》。xdm,你懂这个图片的意思了转载 2022-04-09 13:13:34 · 1322 阅读 · 4 评论 -
Java 开发最容易写的 10 个bug
原文链接:10 个让人头疼的 bug那个谁,今天又写 bug 了,没错,他说的好像就是我。。。。。。作为 Java 开发,我们在写代码的过程中难免会产生各种奇思妙想的 bug ,有些 bug 就挺让人无奈的,比如说各种空指针异常,在 ArrayList 的迭代中进行删除操作引发异常,数组下标越界异常等。如果你不小心看到同事的代码出现了我所描述的这些 bug 后,那你就把我这篇文章甩给他!!!你甩给他一篇文章,并让他关注了一波 cxuan,你会收获他在后面像是如获至宝并满眼崇拜大神的目光。废话不多说,原创 2021-10-09 10:56:12 · 25358 阅读 · 37 评论 -
JVM 面试题,安排上了!!!
肝了一篇非常硬核的 JVM 基础总结,写作不易,小伙伴们赶紧点赞、转发安排起来!原文链接 据说看完这篇 JVM 要一小时JVM 的主要作用是什么?JVM 就是 Java Virtual Machine(Java虚拟机)的缩写,JVM 屏蔽了与具体操作系统平台相关的信息,使 Java 程序只需生成在 Java 虚拟机上运行的目标代码 (字节码),就可以在不同的平台上运行。请你描述一下 Java 的内存区域?JVM 在执行 Java 程序的过程中会把它管理的内存分为若干个不同的区域,这些组成部分有些是原创 2021-10-08 11:07:01 · 1405 阅读 · 0 评论 -
这篇 Java 基础,我吹不动了
Hey guys,这里是程序员cxuan,欢迎你收看我最新一期的文章,这篇文章我补充了一些关于《Java基础核心总结》的内容,修改了部分错别字和语句不通顺的地方,并且对内部类、泛型等内容进行了一定的补充,并且我在文章有些地方给出了一些链接,这些链接都是我自己写的硬核文章,能够更好的帮助你理解 Java 这门语言,那么废话不多说,下面开始正文。Java 概述什么是 Java?Java 是 Sun Microsystems 于1995 年首次发布的一种编程语言和计算平台。编程语言还比较好理解,那么什么是原创 2021-09-13 11:01:02 · 17872 阅读 · 26 评论 -
干货!JVM 基础面试题总结(持续更新)
hey guys, 各位小伙伴们大家好,这里是程序员cxuan,欢迎你收看我新一期的文章,这篇文章我花了几天时间给你汇总了一波 JVM 的基础知识和面试题,内容还不是很全,我还在连载中,这篇文章相当于是第一弹,废话不多说,走起!JVM 的主要作用是什么?JVM 就是 Java Virtual Machine(Java虚拟机)的缩写,JVM 屏蔽了与具体操作系统平台相关的信息,使 Java 程序只需生成在 Java 虚拟机上运行的目标代码 (字节码),就可以在不同的平台上运行。请你描述一下 Java 的原创 2021-08-24 15:25:00 · 5357 阅读 · 40 评论 -
细数浅拷贝和深拷贝
Java 对象拷贝是为对象赋值的一种方式,简单来说就是创建一个和原对象相同的对象,新创建的对象是原对象的一个副本,面试官贼拉喜欢在面试的时候问一问你浅拷贝和深拷贝的原理。因为它涉及到对象的引用关系,涉及到 Java 是传值还是传递引用关系,这通常是面试的重点。所以在聊深拷贝和浅拷贝之前,我们先来聊一聊引用关系。关于引用在 Java 中,除了基本数据类型(四类八种数据类型)之外,还存在引用数据类型。一般使用 = 号做赋值操作的时候,对于基本数据类型,实际上是拷贝的它的值,但是对于对象而言,其实赋值的只是这原创 2021-08-17 09:28:24 · 2020 阅读 · 6 评论 -
42 张图带你撸完 MySQL 优化
Hey guys,这里是程序员cxuan,欢迎你阅读我最新一期的文章,这篇文章是 MySQL 调优的汇总版,我加了一下日常开发过程中的调优经验,希望对各位小伙伴们有所帮助。下面开始正文。我的 github 已经收录此文章,地址在 MySQL 优化一般传统互联网公司很少接触到 SQL 优化问题,其原因是数据量小,大部分厂商的数据库性能能够满足日常的业务需求,所以不需要进行 SQL 优化,但是随着应用程序的不断变大,数据量的激增,数据库自身的性能跟不上了,此时就需要从 SQL 自身角度来进行优化,这也是原创 2021-07-26 09:39:14 · 1615 阅读 · 1 评论 -
我是如何进入腾讯的?
菜鸡历险记从二月底开始投简历,到四月拿到offer,我的春招结束了!选择直接工作,而不是想大多数人一样选择读研,真的是一个很艰难的决定,参加校招所经历的迷茫担忧焦虑也不亚于参加一场研究生招生考试。大学伊始,几乎和大多数人一样,我也想当一名好学生,像助班一样闪耀,拿到高绩点,参加各路竞赛,获取保研资格,把简历塞的满满当当,懵懂的认知甚至让我在当时一度陷入唯绩点论的思维,专心埋头苦干。非常遗憾的是,在大一要结束的那一段时间里,低到让人抬不起头来的gpa才让我意识到并逐渐接受,自己也许真的不擅长考试(原创 2021-07-22 09:49:51 · 1955 阅读 · 6 评论 -
JSR - 133 都解决了哪些问题?
Hey guys ,我是 cxuan,欢迎你阅读我最新一期的技术文章。这一篇文章我要和你聊一聊 Java 并发中关于内存模型的那些事情,我会通过向你问问题的形式来展开,如果你有思路,可以先不要看我的答案,看看你的回答和我的答案是不是有出入,如果你有任何疑问,欢迎在这篇文章下方留言,下面开始我们的正文!究竟什么是内存模型?在多处理系统中,每个 CPU 通常都包含一层或者多层内存缓存,这样设计的原因是为了加快数据访问速度(因为数据会更靠近处理器) 并且能够减少共享内存总线上的流量(因为可以满足许多内存操作)原创 2021-07-13 09:42:52 · 1249 阅读 · 1 评论 -
外包也开始卷起来了???
Hey guys ,这里是 cxuan ,前段时间有位小伙伴跟我分享了他面试外包的经历,外包也开始卷起来了!!最开始是打算面试外包公司刷经验,等经验差不多了,再去甲方尝试,可惜不太顺利。一、迈思(面试了30分钟)自我介绍左连接(a 表左连接 b 表,a 表全部数据出来,b 表没有的数据为空)a 表左连接 b 表,b 表左连接 c 表,c 表左连接 a 表,这样的数据是什么数据(博主当时有点懵,回答全连接,全部数据会出来。。。)sql:一个班的学生有两个字段,一个字段叫分数,另外一原创 2021-07-09 09:40:04 · 2596 阅读 · 10 评论 -
我为大家整理了一波 Java 超全面试题
Hey guys ,我是 cxuan,现在也到了毕业季了,为了帮助大家更好的准备面试,我为大家整理了一波 Java 面试问的频率非常高的面试题。Java 基础equals与==的区别final, finally, finalize 的区别重载和重写的区别两个对象的hashCode()相同,则 equals()是否也一定为 true?抽象类和接口有什么区别BIO、NIO、AIO 有什么区别?String,Stringbuffer,StringBuilder的区别JAVA中的几种基本数据类型原创 2021-07-06 11:19:34 · 3088 阅读 · 19 评论 -
深入理解 synchronized 关键字
前言synchronized 这个关键字的重要性不言而喻,几乎可以说是并发、多线程必须会问到的关键字了。synchronized 会涉及到锁、升级降级操作、锁的撤销、对象头等。所以理解 synchronized 非常重要,本篇文章就带你从 synchronized 的基本用法、再到 synchronized 的深入理解,对象头等,为你揭开 synchronized 的面纱。浅析 synchronizedsynchronized 是 Java 并发模块非常重要的关键字,它是 Java 内建的一种同步机制原创 2021-06-02 09:19:16 · 2616 阅读 · 16 评论 -
万字长文详细搞懂 volatile 关键字
volatile 这个关键字大家都不陌生,这个关键字一般通常用于并发编程中,是 Java 虚拟机提供的轻量化同步机制,你可能知道 volatile 是干啥的,但是你未必能够清晰明了的知道 volatile 的实现机制,以及 volatile 解决了什么问题,这篇文章我就来带大家解析一波。volatile 能够保证共享变量之间的 可见性,共享变量是存在堆区的,而堆区又与内存模型有关,所以我们要聊 volatile ,就需要首先了解一下 Java 内存模型。Java 中的内存模型是 JVM 提供的,而 JVM原创 2021-05-19 09:22:09 · 4826 阅读 · 22 评论 -
牛逼!Java 从入门到精通,超全汇总版
文章目录Java 基础Head First JavaJava 核心技术卷一Java 编程思想设计模式Head First 设计模式图解设计模式设计模式重学 Java 设计模式Java 进阶Java 并发编程实战Java 并发编程艺术Java 并发编程之美图解Java多线程设计模式JVM深入理解 Java 虚拟机Java 虚拟机规范HotSpot 实战自己动手写 Java 虚拟机MySQLMySQL 基础教程SQL 基础教程深入浅出 MySQLMySQL 必知必会SQL 必知必会高性能 MySQLMySQL原创 2021-05-06 19:55:06 · 76174 阅读 · 135 评论 -
聊一聊我在 B 站上自学编程的经历吧!
众所周知,B 站是一所大学今天在 b 站看视频的时候,看到了一句话众所周知,b 站是用来搞学习的,对于我们学习编程的童鞋来说,b 站有着非常多的学习资源,但是有一些质量并不是很好,看了之后不容易理解,这也是写这一篇文章的原因,为大家分享一些质量超高的计算机基础的学习视频,往下看就完了。一、计算机网络1. 计算机网络微课堂 https://www.bilibili.com/video/BV1c4411d7jb?p=1学习计算机网络,我首先推荐的 UP 主湖科大教书匠,他讲的计算机网络十分通俗易原创 2021-04-19 11:52:23 · 37412 阅读 · 107 评论 -
快来看看你知道这些 Java 学习网站么?
推荐几个非常不错的 Java 学习网站LearnJava 在线这是一个非常不错的学习 Java 的在线网站,纯免费。这是一个个人项目,旨在通过简单有效的在浏览器中进行练习让你快速掌握 Java 编程语言。通过直接从网络浏览器运行实际代码,你无需在本地安装和执行代码就可以尝试编码,这无疑提高了编程效率和上手效率。你可以根据目录进行练习,有基础部分和高级部分,首先有例子代码,告诉你需要注意的事项以及详细的讲解,旨在把你教会后再让你进行练习。下面就是练习部分,练习部分没有固定在底部边框,可以自由滑动,能原创 2021-04-19 11:44:01 · 2665 阅读 · 4 评论 -
手把手教你 MySQL 入门,太全啦!!
SQL 基础使用MySQL 是一种关系型数据库,说到关系,那么就离不开表与表之间的关系,而最能体现这种关系的其实就是我们接下来需要介绍的主角 SQL,SQL 的全称是 Structure Query Language ,结构化的查询语言,它是一种针对表关联关系所设计的一门语言,也就是说,学好 MySQL,SQL 是基础和重中之重。SQL 不只是 MySQL 中特有的一门语言,大多数关系型数据库都支持这门语言。下面我们就来一起学习一下这门非常重要的语言。查询语言分类在了解 SQL 之前我们需要知道下面原创 2021-04-16 11:57:22 · 5394 阅读 · 12 评论 -
Semaphore 用法和原理剖析!
这是并发线程工具类的第二篇文章,在第一篇中,我们分析过 CountDownLatch 的相关内容,你可以参考一文搞懂 CountDownLatch 用法和源码!那么本篇文章我们继续来和你聊聊并发工具类的第二篇文章 — Semaphore 。认识 SemaphoreSemaphore 是什么Semaphore 一般译作 信号量,它也是一种线程同步工具,主要用于多个线程对共享资源进行并行操作的一种工具类。它代表了一种许可的概念,是否允许多线程对同一资源进行操作的许可,使用 Semaphore 可以控制原创 2021-04-16 11:10:22 · 2257 阅读 · 4 评论 -
3w 字长文爆肝 Java 基础面试题!太顶了!!!
hey guys ,这不是也到了面试季了么,cxuan 又打算重新写一下 Java 相关的面试题,先从基础的开始吧,这些面试题属于基础系列,不包含多线程相关面试题和 JVM 相关面试题,多线程和 JVM 的我放在后面了,下面不多说,搞起!Java 基础篇Java 有哪些特点并发性的: 你可以在其中执行许多语句,而不必一次执行它面向对象的:基于类和面向对象的编程语言。独立性的: 支持一次编写,到处运行的独立编程语言,即编译后的代码可以在支持 Java 的所有平台上运行。Java 的特性Ja原创 2021-04-08 09:36:55 · 26704 阅读 · 76 评论 -
撸完这篇线程池,我快咳血了!
我们知道,线程需要的时候要进行创建,不需要的时候需要进行销毁,但是线程的创建和销毁都是一个开销比较大的操作。为什么开销大呢?虽然我们程序员创建一个线程很容易,直接使用 new Thread() 创建就可以了,但是操作系统做的工作会多很多,它需要发出 系统调用,陷入内核,调用内核 API 创建线程,为线程分配资源等,这一些操作有很大的开销。所以,在高并发大流量的情况下,频繁的创建和销毁线程会大大拖慢响应速度,那么有什么能够提高响应速度的方式吗?方式有很多,尽量避免线程的创建和销毁是一种提升性能的方.原创 2021-02-10 10:35:33 · 1947 阅读 · 0 评论 -
程序员必知的基础知识 PDF
第一本是程序员必知的硬核基础知识,这是一本非常入门的经典 PDF,看完能让你对计算机有一个基础的了解和入门,是培养你 内核 的基础,我们看下目录大纲基本上涵盖了计算机所有基础知识,从 CPU 到内存、讲解什么是二进制、磁盘、压缩算法、操作系统、汇编等知识。我们来看下内容是怎样的这个图画的很漂亮啊,看起来就是作者在用心画的,而且排版非常精美。看起来一点不枯燥现在这本 PDF 免费分享给你,你可以回复 cxuan 来领取这本 PDF。...原创 2021-01-23 14:16:46 · 2205 阅读 · 0 评论 -
为什么会有 AtomicReference ?
我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer我们之前了解过了 AtomicInteger、AtomicLong、AtomicBoolean 等原子性工具类,下面我们继续了解一下位于 java.util.concurrent.atomic 包下的工具类。关于 AtomicInteger、AtomicLong、AtomicBoolean 相关的内容请查阅一场 Atomic XXX 的魔幻之旅关于 .原创 2021-01-20 14:56:46 · 1881 阅读 · 2 评论 -
大厂面试真题:Spring中Bean的生命周期
前言 这其实是一道面试题,是我在面试百度的时候被问到的,当时没有答出来(因为自己真的很菜),后来在网上寻找答案,看到也是一头雾水,直到看到了《Spring in action》这本书,书上有对Bean声明周期的大致解释,但是没有代码分析,所以就自己上网寻找资料,一定要把这个Bean生命周期弄明白! 网上大部分都是验证的Bean 在面试问的生命周期,其实查阅JDK还有一个完整的Bean生命周期,这同时也验证了书是具有片面性的,最fresh 的资料还是查阅原始JDK!!!一、Bean 的完整生命周原创 2021-01-14 08:04:45 · 2281 阅读 · 1 评论 -
动态代理竟然如此简单!
这篇文章我们来聊一下 Java 中的动态代理。我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer动态代理在 Java 中有着广泛的应用,比如 AOP 的实现原理、RPC远程调用、Java 注解对象获取、日志框架、全局性异常处理、事务处理等。在了解动态代理前,我们需要先了解一下什么是代理模式。代理模式代理模式(Proxy Pattern)是 23 种设计模式的一种,属于结构型模式。他指的是一个对象本身原创 2020-12-29 13:53:50 · 2092 阅读 · 4 评论 -
CountDownLatch 用法和源码解析
CountDownLatch 是多线程控制的一种工具,它被称为 门阀、 计数器或者 闭锁。这个工具经常用来用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。下面我们就来一起认识一下 CountDownLatch我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer认识 CountDownLatchCountDownLatch 能够使一个线程在等待另外一些线程完成各自工作之后,再继原创 2020-12-21 09:13:43 · 1426 阅读 · 0 评论 -
Java 核心技术总结出 PDF 版本了!!!
之前小伙伴们一直私信我说希望我能出一篇 Java 基础总结,一直看网上的总结不是那么细致,而且涵盖的地方不是很全,所以索性我自己写了一篇 Java核心技术总结,现在分享给你。支持书签,思维导图也非常清晰。文章的思维导图如下一共是 75 页,这 75 页可是我呕心沥血的大作啊!!! 我女友和我说她老板买一份这种 PDF 的版权要几万块。现在 cxuan 免费分享出来,链接如下链接: https://pan.baidu.com/s/1xXlSMYTT9W7mexr_KHU-rA 密码: 7原创 2020-12-16 22:19:04 · 2563 阅读 · 5 评论 -
Java 中的语法糖,真甜。
我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer我们在日常开发中经常会使用到诸如泛型、自动拆箱和装箱、内部类、增强 for 循环、try-with-resources 语法、lambda 表达式等,我们只觉得用的很爽,因为这些特性能够帮助我们减轻开发工作量;但我们未曾认真研究过这些特性的本质是什么,那么这篇文章,cxuan 就来为你揭开这些特性背后的真相。语法糖在聊之前我们需要先了解一下 语法糖 的概.原创 2020-12-08 08:44:42 · 6066 阅读 · 16 评论 -
我用 10 张脑图,征服了一系列大厂面试官。
我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer已提交此篇文章秋招也快接近尾声了,我在秋招的结尾意外地收获了网易互娱的 Offer,秋招就此结束,写下这篇文章是为了帮助更多师弟师妹们,希望能帮助到你们。我并不是什么很厉害的大神,我也不渴望成为别人眼中的大神,我只是踏实地一步一个脚印走,把每一样事情都尽量地完成好,我更多的是希望和大家一起进步。我的秋招目前收获了几家公司的 Offer:网易互娱、融 36原创 2020-11-17 08:59:00 · 3302 阅读 · 2 评论 -
看完这篇 final、finally 和 finalize 和面试官扯皮就没问题了
我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxuan/bestJavaer已提交此篇文章final 是 Java 中的关键字,它也是 Java 中很重要的一个关键字,final 修饰的类、方法、变量有不同的含义;finally 也是一个关键字,不过我们可以使用 finally 和其他关键字结合做一些组合操作; finalize 是一个不让人待见的方法,它是对象祖宗 Object 中的一个方法,finalize 机制现在已经不推.原创 2020-11-02 09:22:15 · 1674 阅读 · 3 评论 -
这可能是学习代理最好的一篇文章
说在前面:今天我们来聊一聊 Java 中的代理,先来聊聊故事背景:小明想购买法国某个牌子的香水送给女朋友,但是在国内没有货源售卖,亲自去法国又大费周章了,而小红现在正在法国玩耍,她和小明是好朋友,可以帮小明买到这个牌子的香水,于是小明就找到小红,答应给她多加 5% 的辛苦费,小红答应了,小明成功在中国买到了法国的香水。之后小红开启了疯狂的代购模式,赚到了很多手续费。在故事中,小明是一个客户,它让小红帮忙购买香水,小红就成了一个代理对象,而香水提供商是一个真实的对象,可以售卖香水,小明通过代理商小红,原创 2020-10-24 10:24:17 · 1803 阅读 · 1 评论 -
学习操作系统,都有哪些硬核网站?
一般很少有人推荐操作系统的网站吧。。。。。。这几个网站来源于我平常的学习总结,也有一些是来源于网上优秀的回答,希望这几个网站能够助力你对操作系统有更深的认识。studytonightstudytonight 简直太棒了!!! studytonight 会包括 operationg system,但是并不是说 studytonight 就是一个单纯的 OS 学习网站,它是一个基础教程网,它的首页是这样的,不仅限于 os ,还会包括 Java、C、CSS、OS、Computer network 等。这个原创 2020-10-24 10:16:21 · 4349 阅读 · 0 评论 -
我告诉你一个 AtomicInteger 的惊天大秘密
i++ 不是线程安全的操作,因为它不是一个原子性操作。那么,如果我想要达到类似 i++ 的这种效果,我应该使用哪些集合或者说工具类呢?在 JDK1.5 之前,为了确保在多线程下对某基本数据类型或者引用数据类型运算的原子性,必须依赖于外部关键字 synchronized,但是这种情况在 JDK1.5 之后发生了改观,当然你依然可以使用 synchronized 来保证原子性,我们这里所说的一种线程安全的方式是原子性的工具类,比如 AtomicInteger、AtomicBoolean 等。这些原子类都是线原创 2020-09-21 07:13:24 · 4160 阅读 · 2 评论 -
我工作三年了,该懂并发了!
本文的组织形式如下,主要会介绍到同步容器类,操作系统的并发工具,Java 开发工具包(只是简单介绍一下,后面会有源码分析)。同步工具类有哪些。下面我们就来介绍一下 Java 并发中都涉及哪些模块,这些并发模块都是 Java 并发类库所提供的。同步容器类同步容器主要包括两类,一种是本来就是线程安全实现的容器,这类容器有 Vector、Hashtable、Stack,这类容器的方法上都加了 synchronized 锁,是线程安全的实现。Vector、Hashtable、Stack 这些容器我们现在原创 2020-08-31 07:23:18 · 2818 阅读 · 2 评论 -
2w字 + 40张图带你参透并发编程!
并发历史在计算机最早期的时候,没有操作系统,执行程序只需要一种方式,那就是从头到尾依次执行。任何资源都会为这个程序服务,在计算机使用某些资源时,其他资源就会空闲,就会存在 浪费资源 的情况。这里说的浪费资源指的是资源空闲,没有充分使用的情况。操作系统的出现为我们的程序带来了 并发性,操作系统使我们的程序能够同时运行多个程序,一个程序就是一个进程,也就相当于同时运行多个进程。操作系统是一个并发系统,并发性是操作系统非常重要的特征,操作系统具有同时处理和调度多个程序的能力,比如多个 I/O 设备同时原创 2020-08-19 07:28:16 · 2902 阅读 · 3 评论 -
一网打尽 Java 并发模型
本篇文章我们来探讨一下并发设计模型。可以使用不同的并发模型来实现并发系统,并发模型说的是系统中的线程如何协作完成并发任务。不同的并发模型以不同的方式拆分任务,线程可以以不同的方式进行通信和协作。并发模型和分布式系统很相似并发模型其实和分布式系统模型非常相似,在并发模型中是线程彼此进行通信,而在分布式系统模型中是 进程 彼此进行通信。然而本质上,进程和线程也非常相似。这也就是为什么并发模型和分布式模型非常相似的原因。分布式系统通常要比并发系统面临更多的挑战和问题比如进程通信、网络可能出现异常,或者远程原创 2020-08-13 08:30:55 · 2003 阅读 · 2 评论 -
操作系统和并发的爱恨纠葛
我一直没有急于写并发的原因是我参不透操作系统,如今,我已经把操作系统刷了一遍,这次试着写一些并发,看看能不能写清楚,卑微小编在线求鼓励… 我打算采取操作系统和并发同时结合讲起来的方式。并发历史在计算机最早期的时候,没有操作系统,执行程序只需要一个过程,那就是从头到尾依次执行。任何资源都会为这个程序服务,这必然就会存在 浪费资源 的情况。这里说的浪费资源指的是资源空闲,没有充分使用的情况。操作系统为我们的程序带来了 并发性,操作系统使我们的程序同时运行多个程序,一个程序就是一个进程,也就相当于同时原创 2020-08-07 09:45:07 · 5986 阅读 · 4 评论 -
47 张图带你 MySQL 进阶!!!
我们在 MySQL 入门篇主要介绍了基本的 SQL 命令、数据类型和函数,在局部以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下 MySQL 都需要哪些高级的技能MySQL 存储引擎存储引擎概述数据库最核心的一点就是用来存储数据,数据存储就避免不了和磁盘打交道。那么数据以哪种方式进行存储,如何存储是存储的关键所在。所以存储引擎就相当于是数据存储的发动机,来驱动数据在磁盘层面进行存储。MySQL 的架构可以按照三层模原创 2020-07-21 08:28:58 · 7338 阅读 · 2 评论 -
MySQL 你可能忽视的选择问题
我们在 MySQL 入门篇主要介绍了基本的 SQL 命令、数据类型和函数,在局部以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我们就来探讨一下 MySQL 都需要哪些高级的技能MySQL 存储引擎存储引擎概述数据库最核心的一点就是用来存储数据,数据存储就避免不了和磁盘打交道。那么数据以哪种方式进行存储,如何存储是存储的关键所在。所以存储引擎就相当于是数据存储的发动机,来驱动数据在磁盘层面进行存储。MySQL 的架构可以按照三层模原创 2020-07-06 15:28:55 · 2303 阅读 · 0 评论 -
推荐几个硬核 Java 学习网站
推荐几个非常不错的 Java 学习网站LearnJava 在线这是一个非常不错的学习 Java 的在线网站,纯免费。这是一个个人项目,旨在通过简单有效的在浏览器中进行练习让你快速掌握 Java 编程语言。通过直接从网络浏览器运行实际代码,你无需在本地安装和执行代码就可以尝试编码,这无疑提高了编程效率和上手效率。你可以根据目录进行练习,有基础部分和高级部分,首先有例子代码,告诉你需要注意的事项以及详细的讲解,旨在把你教会后再让你进行练习。下面就是练习部分,练习部分没有固定在底部边框,可以自由滑动,能原创 2020-07-05 15:02:48 · 3946 阅读 · 3 评论