java进阶学习
小猿向前冲
这个作者很懒,什么都没留下…
展开
-
程序员都要知道的知识!理解协程并搞定协程相关面试题!
一、什么是协程协程:实现协作式多任务,可以在程序执行内部中断,转而执行其他协程。比如我们编写子程序(或者说函数),通常是利用“调用”来实现从 A 跳去 B,B 跳去 C,如果想回来调用方,必须等被调用方执行完才行,整个调用过程是通过栈实现的。而协程是运行子程序的过程中“中断”,转而执行其他子程序,再在适当的时候返回来接着运行。二、协程与线程的区别协程相比于线程的优势: 1、协程效率比线程高...翻译 2019-07-02 15:59:29 · 147 阅读 · 0 评论 -
探讨一下!Java并发编程基础篇一
Java并发编程想必大家都不陌生,它是实现高并发/高流量的基础,今天我们就来一起学习这方面的内容。什么是线程?什么是进程?他们之间有什么联系?简单来说,进程就是程序的一次执行过程,它是系统进行资源分配和调度的基本单位。线程与进程类似,但是线程是更小的执行单位。一个进程在执行过程中可产生多个线程,正因为如此,线程也被称为轻量级的进程 。线程和进程在于进程大多是独立工作的,而各线程则不一定,同一...原创 2019-07-05 17:26:16 · 187 阅读 · 0 评论 -
一看就懂!Java 代码解决生产者/消费者问题(编程实例 )
生产者和消费者在同一时间段内共用同一个存储空间,如下图所示,生产者向空间里存放数据,而消费者取用数据,如果不加以协调可能会出现以下情况:存储空间已满,而生产者占用着它,消费者等着生产者让出空间从而去除产品,生产者等着消费者消费产品,从而向空间中添加产品。互相等待,从而发生死锁。以下实例演示了如何通过线程解决生产者/消费者问题:/* author by 程序员宝库java学习者 Pro...原创 2019-07-04 21:36:54 · 1204 阅读 · 0 评论 -
跳槽需谨慎!这些棘手的Java面试题,答案你都知道吗?
棘手的Java面试问题是那些有一些惊喜元素的问题。如果你试图用常识回答一个棘手的问题,你很可能会因为需要一些特定的知识而失败。大多数棘手的Java问题来自于令人困惑的概念,如函数重载和覆盖,多线程,掌握非常棘手,字符编码,检查与未检查的异常和Integer溢出等微妙的Java编程细节。回答棘手的Java问题最重要的是态度和分析思维,即使你不知道答案也会有所帮助。在这篇Java文章中,我们将看...原创 2019-07-04 21:25:11 · 225 阅读 · 0 评论 -
程序员应聘阿里P7岗,面试都过了,结果却因为最后一步被刷下来了…
在当今互联网中从业者众多,不断崛起的互联网公司也有很多,但如BAT等大厂,仍然是很多同学想要进入的企业。对于程序员来说,他们同样也想在国内顶尖的互联网公司获得一席之位!但是进入大厂也不是一件简单的事情,层层面试,层层筛选,即使在各项面试通过后,还会进行背景调查。据了解,大部分企业都会对面试者进行背景调查,所谓背景调查就是对面试者的简历背景做详尽调查,以确保其提供的资料真实有效而非虚构。这...原创 2019-07-04 20:51:48 · 4422 阅读 · 1 评论 -
12年程序员大牛竟然离开北上广?想定居二线城市!
“不后悔来成都,这里真的生活质量相比北京、深圳要高很多,巴适的很”,这是老叶最近和我聊天聊的,老叶是一名工作12年的程序员,在北京,深圳都呆过,一直没有合适的城市让他心安或者是有归属感,来成都后,就定下了自己以后都在这座城市了。老叶是湖南人,12年前,从一个一般二本学校毕业后,还是个初生牛犊不怕虎的小伙子毕业后,就去闯北京,起初是求生存,在北京一家小公司干着,月薪只有3000,相比现在年轻人一...原创 2019-07-03 20:54:02 · 2968 阅读 · 1 评论 -
面试大厂回来后,有一些话想对 Java 后端开发说一说
在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间。我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面的。我也知道,不少候选人能力其实不差,但面试时没准备或不会说,这样的人可能在进团队干活后确实能达到期望,但可能就无法通过面试,但面试官总是只根据面试情况来判断。但现实情况是,大多数人可能面试前没准...原创 2019-07-03 20:27:54 · 972 阅读 · 0 评论 -
一线大厂给出成为核心程序员的一些建议!
成为核心程序员或技术榜样既是一个伟大的责任,也是一个很好的职业机遇,但中间的过程却是艰辛的。对自己和自己的工作负责,与尽可能地推卸团队的责任是有着很大区别的。许多程序员做起自己的工作来很是得心应手,却在晋升到首席开发这个领导职位时,因为对所涉及的额外责任没有准备而焦头烂额无所适从。作为一个有着多年职业经验的首席开发人员,我想向大家分享一些我认为有用的东西。你为什么想成为一名首席开发人员?...原创 2019-07-03 20:12:49 · 253 阅读 · 0 评论 -
十年程序员都不敢说不会错!Java重要的面试题:栈和队列的实现
面试的时候,栈和队列经常会成对出现来考察。本文包含栈和队列的如下考试内容:(1)栈的创建(2)队列的创建(3)两个栈实现一个队列(4)两个队列实现一个栈(5)设计含最小函数min()的栈,要求min、push、pop、的时间复杂度都是O(1)(6)判断栈的push和pop序列是否一致#1、栈的创建:我们接下来通过链表的形式来创建栈,方便扩充。代码实现:public class ...原创 2019-07-03 20:03:30 · 140 阅读 · 0 评论 -
资深程序员的心得笔记!《大型网站系统与Java中间件》读书笔记 (中)
回顾上一篇:《大型网站系统与Java中间件》读书笔记(一)这周周末读了第四章,现在过来做做笔记,希望能帮助到大家。一、服务框架的设计从上一篇我们讲到,应用拆开了以后,不同功能/模块之间的调用不再单纯通过本机调用,引入了远程的服务调用。而远程的服务调用这个东东会很难吗?说白了,不就是两台服务器之间通信吗?这时候,你能想到什么?必定是Socket吧。没错,我们通过Socket肯定是可以...转载 2019-07-02 17:49:14 · 149 阅读 · 0 评论 -
资深程序员的心得笔记!《大型网站系统与Java中间件》读书笔记(上)
这本书买了一段时间了,之前在杭州没带过去,现在读完第三章,来做做笔记一、为什么分布式?在之前的文章(外行人都能看懂的SpringCloud,错过了血亏!)也提过为什么要分布式:模块之间独立,各做各的事,便于扩展,复用性高高吞吐量。某个任务需要一个机器运行10个小时,将该任务用10台机器的分布式跑(将这个任务拆分成10个小任务),可能2个小时就跑完了在书上给出的观点:升级单机的处理能力...转载 2019-07-02 17:24:52 · 181 阅读 · 0 评论 -
程序猿重要知识点!代码详解:Python虚拟环境的原理及使用
1. 使用JMH通过手工编写一个性能压测程序有较多的问题不同需要性能比较方法放到一个虚拟机里调用,有可能会互相影响。最好的办法是分成俩个独立的进程运行,确保俩个对比方法不相互影响。PerformaceAreaTest启动后直接运行, 缺少预热代过程。虚拟机在执行代码过程中,会加载类,解释执行,以及有可能的优化编译。需要确保虚拟机进行了一定预热运行,以保证测试的公平性,我们在运行Perform...转载 2019-07-02 16:55:28 · 270 阅读 · 0 评论 -
阿里Java面试题剖析:在高并发的情况下如何保证消息的顺序性?
面试原题如何保证消息的顺序性?面试官心理分析其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。面试题剖析我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql ...原创 2019-07-05 17:42:52 · 1789 阅读 · 0 评论