程序员
文章平均质量分 73
Java奥利给
苦逼程序员码农日常技术、学习资源分享
展开
-
欢迎来嫖!阿里P8高级技术专家携这份818页Java核心技术重磅来袭
前言Java语言今年已经25岁了,仍常年稳坐各大编程语言榜单前列,一直是大多数开发者心中最流行的编程语言。 Java工程师的就业面广、薪资高,这得益于 Java 语言优良的关键特性。现在越来越多的人仍旧不断地加入到学习 Java 的队伍中来,小编在此就给大家带来一本书《Java核心技术 卷 II》涵盖入门到精通!助你顺利进大厂!目录第一章:Java SE 8 的流库第二章:输入与输出因平台限制无法在这里给大家全部展示,需要这份文档的朋友可以,添加下方VX即可第三.原创 2020-10-28 13:13:16 · 1811 阅读 · 7 评论 -
四面字节斩获offer,二十不惑的年纪我的人生就这样第一次的走上了正轨,看到了前途希望与光明
文字内容太长,请耐心看完,或许对迷茫的你有所帮助,文章重点在后半部分。前言二十岁的年纪,青春张扬,无拘无束,这种状态自然是好事,不过在某种意义上,也并不能太过乐观。实际上,许多二十岁左右的年轻人,容易陷入误区,把无所事事当成自然状态,太过随意的生活容易让我们没有明确的人生目标和真实的人生理想,以至于毕业之后找不到工作,回家啃老,然后还要悻悻地安慰自己“谁的青春不迷茫”?二十岁想要不惑,就要尽早开始规划自己接下来的人生,这样才能提升自己走“狗屎运”的概率。二十岁的人生,怎么才能做..原创 2020-10-26 14:44:58 · 272 阅读 · 8 评论 -
GitHub上霸榜久居不下的《Java面试突击宝典》,正在疯传,先到先得
面试前的准备由于平台篇幅限制,文章中的pdf文档资料需要的可以关注+转发后 添加下方VX即可Java计算机网络常见面试点总结LINUXMySQLRedisSpring消息队列Dubbo数据结构算法实际场景题BATJ真实面试题如何获取:由于平台篇幅限制,需要这份资料的朋友可以...原创 2020-10-12 20:28:05 · 1165 阅读 · 12 评论 -
入职美团那一天,我哭的稀里哗啦(蘑菇街被裁,奋战7个月拿下offer)
前言先说一下自己的个人情况,18届应届生,通过校招进入到了蘑菇街,然后一待就待了差不多2年多的时间,可惜的是今年4月份受疫情影响遇到了大裁员,而我也是其中一员。好在早有预感,提前做了准备,之前一直想去美团,年前就已经在做准备了,这场持久战拉得很长,也最终以7个月的时间取得胜利。在踏入美团,办理入职手续的那一天,作为一个男子汉,确实是落泪了。特分享一波我的真实经历,共勉。小tip:其实一个公司要进行裁员通常都会出现一些前期征兆:业务发展遇到较大瓶颈,并且难以突破、频繁调整战略目标、高管开始陆续..原创 2020-10-10 20:58:40 · 481 阅读 · 9 评论 -
竭尽全力斩获美团点评offer!美团点评高级1234面:算法+HashMap+Zookeeper+线程+Redis+kafka
美团点评高级Java岗1-4面坐标上海,金九银十拿下了美团点评高级Java岗的offer,薪资税前35k。PS.1. 本篇依旧是咱们原来的文章风格,省略各种前情提要和勾搭过程,直击面试拷问细节。2. 最近美团又有不少技术岗位开放了咯,感兴趣的小伙伴要赶紧啦~需要面试资料及进阶架构学习资料的可以添加下方VX免费获取美团点评高级Java一面(技术,电话面试,约40分钟)自我介绍。 项目介绍。 了解过redis源码及redis集群么? 分布式下redis如何保证...原创 2020-10-09 18:50:00 · 1322 阅读 · 12 评论 -
最新Java面试300题:腾讯T4面试+美团+京东+拼多多(文末答案附赠)
数据库原理MYISAM与innodb搜索引擎原理MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。其采用索引文件与数据文件,索引文件只存放索引,叶子节点存放数据的物理地址。数据文件存放数据。其索引方式是非聚集的。 InnoDB也使用B+Tree作为索引结构。但是它的主索引与数据都放在一个文件中。这种索引叫做聚集索引,因为InnoDB的数据文件本身要按主键聚集,所以InnoDB要求表必须有主键(MyISAM可以没有),如果没有显式指定,则MySQL系统会自动选择..原创 2020-10-08 13:16:40 · 2003 阅读 · 15 评论 -
阿里三年面试官:Java程序员搞懂这些技术点,随随便便吊打我
前言过去2年我持续分享了BAT TMD为代表的大厂最新面试题目,特别是蚂蚁金服、天猫、淘宝、头条、拼多多等Java面试题目。过去2年,我已经成功的帮助了部分同学进入了大厂。2020开始,我依然会为大家带来最新的大厂现场面试专场题目,希望能帮助到更多的同学。回到正题,过完年后金三银四将正式到来,这是一个比较重要的涨薪季。我知道很多同学早已经提前未雨绸缪了,已经提前在开始准备了。提前准备一直是我倡导的,任何事情你想要有预期的好的结果,那你就需要提前准备,提前准备,提前准备,重要的事情说三遍。...原创 2020-10-06 16:06:21 · 1230 阅读 · 7 评论 -
超罕见!Alibaba内部流行的“Java突击宝典”,金九银十程序员升职加薪必备!
前言Alibaba作为一线互联网公司的代表,是大部分程序员梦寐以求的工作场所,确实大厂出来的程序员,其背景也更值钱,含金量也会更高。实际上,Alibaba程序员早已成为行业内学习的榜样和标杆,但实际上光鲜的背后付出的血汗是我们没看到的。那么阿里程序员平常都是怎么学习的呢?今天就讲讲让我们一众菜鸡惊艳到的“Java突击宝典”,这份宝典在Alibaba内部流行已久,适合各个年限的程序员来学习,它主要将需要学习的技术栈分为了三个阶段:0-1年开发经验(夯实基础):Java基础+并发编程+JVM基础..原创 2020-09-30 13:00:36 · 1082 阅读 · 2 评论 -
BATJ大厂高频面试题!TCP/IP三次握手四次挥手、高并发终于被他通过画图讲清楚了,搞懂这个,年薪50w!
牛皮了,头一次见有清华大佬把TCP/IP三次握手四次挥手解释的这么明白网络通信TCP/IP/SOCKET高并发,负载均衡,高可用IO分布式、微服务HTTP协议传输控制层网络层负载均衡DR实验手册TCP IP 网络协议 高并发 ...原创 2020-09-29 15:08:29 · 1317 阅读 · 10 评论 -
ActiveMQ——Java连接ActiveMQ(点对点)
点对点的消息传递中,目的地被称为队列(Queue)点对点消息传递的特点如下:(1)每个消息只能有一个消费者,类似 1 对 1 的关系,好比个人快递自己领取自己的(2)消息的生产者和消费者之间 没有时间上的相关性。无论消费者在生产者发送消息的时候是否处于运行状态,消费者都可以提取消息。好比我们的发送短信,发送者发送后不见得接收者会立即收看(3)消息被消费后队列中 不会再存储,所以消费者 不会消费到已经被消费掉的消息创建 Maven 工程关于怎么创建 Maven 工程...原创 2020-09-29 14:24:18 · 295 阅读 · 0 评论 -
2020最新最全数据库系统安全
数据库标识与鉴别数据库访问控制 数据库安全审计 数据库备份与恢复 数据库加密 资源限制 数据库安全加固 数据库安全管理数据库安全机制与实现技术数据库安全机制数据库加密加密方式:数据库网上传输的数据,通常利用SSL协议来实现 数据库存储的数据,通过数据库存储加密来实现数据库存储加密方式:库内加密和库外加密常用技术:基于文件的数据库加密技术、基于记录的数据库机密技术、基于字段的数据库文件进行加密数据库防火墙安全作用:屏蔽直接访问数据库的通...原创 2020-09-27 21:07:13 · 362 阅读 · 0 评论 -
GitHub上标星86.1k的Java学习项目!已整理成了文档版本,建议赶紧收藏!
很多Java程序员一直希望找到一份完整的学习路径,但是市面上很多书都是专注某一个领域的,没有一份完整的大图,以至于很多程序员很迷茫,不知道自己到底应该从哪里开始学,或者不知道自己学习些什么。好在很早之前就有人总结了一份《Java工程师成神之路》,作者按照自己的经验总结了从基础,到高级、底层、架构、进阶、扩展等6个大的章节。几乎囊括了Java体系内的所有知识点。这份资料之前开源在GitHub上,短短几个月时间,收获了12k的Star数,最近,笔者了解到,该项目有了重大的变化,升级到了v3.0版本。原创 2020-09-26 21:51:59 · 210 阅读 · 6 评论 -
面试:谈谈你对MyBatis执行过程之SQL执行过程理解
前言在了解了MyBatis初始化加载过程后,我们也应该研究看看SQL执行过程是怎样执行?这样我们对于Mybatis的整个执行流程都熟悉了,在开发遇到问题也可以很快定位到问题。更重要的,在面试中遇到面试官咨询Mybatis的知识点的时候,可以很顺畅的把这一套流程讲出来,面试也会觉得你已掌握Mybatis知识点了。SQL执行过程简介经过MyBatis初始化加载Sql执行过程所需的信息后,我们就可以通过 SqlSessionFactory 对象得倒忙SqlSession ,然后执行 SQ...原创 2020-09-26 14:40:40 · 453 阅读 · 0 评论 -
身为程序员,你连网络协议都不懂,你拿什么年薪百万?
前言虽然在大学的时候大家都学过网络协议 ,但是肯定感觉网络协议的知识点非常多 ,非常复杂。学的时候就浑浑噩噩,真正到了实践中更是糊里糊涂,一旦工作中遇到了网络问题,除了会简单地 ping 几下 ,基本没有什么解决问题的思路。 然而当拿起书来学习,或者看一些官方文档的时候,各种生僻的专业词汇马上扑面而来,每了解其中的一个词汇 ,都要看多 篇文章,读多本书,导致一篇即使很短的有关网络技术的文章也要几个星期才能看完。这严重打击着大家的自信心,并且很容易让人在技术的海洋中迷失自我,从而产生“从人门到放弃”的原创 2020-09-26 13:38:32 · 345 阅读 · 0 评论 -
虚拟机系列 | JVM运行时数据区
1、内存结构内存是计算机的重要部件之一,它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。JVM的内存结构规定Java程序在执行时内存的申请、划分、使用、回收的管理策略,通说来说JVM的内存管理指运行时数据区这一大块的管理。2、线程运行JVM中一个应用是可以有多个线程并行执行,线程被一对一映射为服务所在操作系统线程,调度在可用的CPU上执行,启动时会创建一个操作系统线程;当该线程终止时,这个操作系统线程也会被回收。...原创 2020-09-24 14:20:42 · 485 阅读 · 0 评论 -
双非本科毕业的我,为何能在金九银十期间斩获京东、字节、快手的offer
Java基础核心总结知识点整理:IO 集合 反射的思想及作用 代理模式 变量 深入理解static 关键字 String.StringBuffer和StringBuilder Comparator和Comparable 谈谈强引用、软引用、弱引用、幻象引用 并发历史 线程 同步容器类 Java锁分类因为内容实在太多,笔者会展示目录和详细内容截图,有需要获取完整笔记的朋友:关注+转发后,添加下方图中IOJava lO是一个庞大的知识体系,很多人学着学着就会学懵原创 2020-09-22 13:44:12 · 237 阅读 · 20 评论 -
妙啊,一文解析虚拟机系列 | JVM类加载机制
一、类加载简介类的加载机制是指把编译后的.class类文件的二进制数据读取到内存中,并为之创建一个java.lang.Class对象,用来封装类在元数据空间的数据结构。类在JVM中的生命周期为:加载,连接,初始化,使用,卸载。不过这里只重点描述加载,连接,初始化这三个过程。二、加载过程基于一张图看懂加载子系统的细节流程:1、加载阶段过程描述加载阶段需要完成以下三个过程:通过类的全限定名来获取其定义的二进制字节流; 将字节流所代表的静态存储结构转...原创 2020-09-22 13:22:34 · 106 阅读 · 0 评论 -
阿里P8架构师熬夜三天,才硬肝出这份金九银十Java程序员跳槽涨薪必备秘籍!
1.计算机基础:1.1数据结构基础:主要学习:1.向量,链表,栈,队列和堆,词典。熟悉2.树,二叉搜索树。熟悉3.图,有向图,无向图,基本概念4.二叉搜索A,B,C类熟练,9大排序熟悉。5.树的前中后,层次,之字,最短路。6.KMP等字符串算法。1.2操作系统:主要学习:1.进程,线程,进程线程区别。进程间通信2.进程调度算法理解3.存储,虚拟内存,分页分段,内存调度算法4.文件系统,链式,索引5.死锁:原因,避免,解除k6.Linux基本操作命令,会一门脚本编程:s原创 2020-09-21 22:04:27 · 183 阅读 · 0 评论 -
2020-09-16Netty干货分享:京东京麦的生产级TCP网关技术实践总结
1、引言京东的京麦商家后台2014年构建网关,从HTTP网关发展到TCP网关。在2016年重构完成基于Netty4.x+Protobuf3.x实现对接PC和App上下行通信的高可用、高性能、高稳定的TCP长连接网关。早期京麦搭建HTTP和TCP长连接功能主要用于消息通知的推送,并未应用于API网关。随着逐步对NIO的深入学习和对Netty框架的了解,以及对系统通信稳定能力的愈加高要求,采用NIO技术应用网关实现API请求调用的想法,最终在2016年实现,并完全支撑业务化运行。由于诸多的改进,包括TCP长原创 2020-09-16 21:47:40 · 361 阅读 · 0 评论 -
就靠十个小实验,轻轻松松带你搞懂JVM的三大参数类型
秒懂JVM的三大参数类型,就靠这十个小实验了你好,我是悟空哥,「7年项目开发经验,全栈工程师,开发组长,超喜欢图解编程底层原理」。手写了2个小程序,Java刷题小程序,PMP刷题小程序,已发布到公众号菜单。SpringCloud实战项目 GithubJava在线文档 Github本实验的目的是讲解JVM的三大参数类型。在JVM调优中用到的最多的XX参数,而如何去查看和设置JVM的XX参数也是调优的基本功,本节以实验的方式讲解JVM参数的查看和设置。希望大家能有所启发。..原创 2020-09-16 17:07:53 · 157 阅读 · 0 评论 -
Java提高篇——Java中的异常处理(绝对详细,建议收藏)
今天,小编来和大家聊聊Java中的异常该怎么处理异常的概念异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常。异常发生的原因有很多,通常包含以下几大类:用户输入了非法数据。要打开的文件不存在。网络通信时连接中原创 2020-09-15 21:08:59 · 875 阅读 · 0 评论 -
透视HTTPS建造固若金汤的城堡
为什么有 HTTPS?因为 HTTP 不安全!现在的互联网已经不再是 “田园时代”,“黑暗森林” 已经到来。上网的记录会被轻易截获,网站是否真实也无法验证,黑客可以伪装成银行网站,盗取真实姓名、密码、银行卡等敏感信息,威胁人身安全和财产安全。上网的时候必须步步为营、处处小心,否则就会被不知道埋伏在哪里的黑客所“猎杀”。HTTPS 如何实现安全通信?如何构建出固若金汤的网络城堡?主要涉及的知识点如下:了解什么是 HTTPS 什么样的才是安全的通信 对称加密与非对称加密、摘要算法、数字签名、..原创 2020-09-15 15:37:09 · 198 阅读 · 0 评论 -
面试怕被问算法?50个大厂、987页大数据、算法项目落地经验教程合集!
大数据、算法项目在任何大厂无论是面试还是工作运用都是非常广泛的,我们精选了50个百度、腾讯、阿里等大厂的大数据、算法落地经验甩给大家,千万不要做收藏党哦,空闲时间记得随时看看!如果你没有大厂项目经验,对大厂算法、大数据的项目运用不了解建议你看看!算法大数据基于知识图谱的语义理解技术及应用-百度知识图谱在人工智能应用中的重要价值日益突显。百度构建了超大规模的通用知识图谱,并在搜索、 推荐、智能交互等多项产品中广泛应用。同时,随着文本、语音、视觉等智能技术的不断...原创 2020-09-14 21:10:07 · 375 阅读 · 4 评论 -
一篇文章带你彻底搞定“分布式事务”
01 为什么需要分布式事务由于近十年互联网的发展非常迅速,很多网站的访问越来越大,集中式环境已经不能满足业务的需要了,只能按照业务为单位进行数据拆分(包含:垂直拆分与水平拆分),以及按照业务为单位提供服务,从早期的集中式转变为面向服务架构的分布式应用环境。举一个典型的例子,阿里的淘宝网站随着访问量越来越大,只能按照商品、订单、用户、店铺等业务为单位进行数据库拆分,以及按照业务为单位提供服务接口。这个时候 为了完成一个简单的业务功能,比如:购买商品后扣款,有可能需要横跨多个服务,涉及用户.原创 2020-09-11 19:29:38 · 245 阅读 · 0 评论 -
阿里微服务布道师:详解微服务架构设计
微服务软件架构是一个包含各种组织的系统组织,这些组件包括 Web服务器, 应用服务器, 数据库,存储, 通讯层), 它们彼此或和环境存在关系。系统架构的目标是解决利益相关者的关注点。Conway’s law: Organizations which design systems[...] are constrained to produce designs which are copies of the communication structures of these organizat.原创 2020-09-08 14:46:17 · 337 阅读 · 2 评论 -
三面阿里java后台开发岗总结:进阿里必看这份究极面试文档
前言最近原来实习时候的Boss联系我,说他跳槽到了阿里,问我有没有兴趣面一个Java后台开发岗位。考虑到我只工作了一年,现在去阿里肯定要降薪,因此也没有太强烈的意愿。但出于提升自我的角度考虑,参加了面试。一面(电话面试一小时)首先做一个简单的自我介绍,主要包括学校经历和工作经历。我工作经历只有一年,大部分时间都是在做产品设计和UI/UX Design,因此隔着电话都能感受到面试官的shock。Java基础。自动拆装箱如何实现,String,StringBuffer,StringBuild原创 2020-09-07 21:20:26 · 1174 阅读 · 4 评论 -
Java 虚拟机诊断利器
背景最近学习Java字节码过程中遇到了反射,有段代码是这样的:package com.example.classstudy;import java.lang.reflect.Method;/** * @author TY */public class ReflectionTest { private static int count = 0; public static void foo() { new Exception("test#" + (...原创 2020-09-02 16:31:43 · 134 阅读 · 0 评论 -
Java中的回调机制,这篇给你整的明明白白的
调用和回调机制在一个应用系统中, 无论使用何种语言开发, 必然存在模块之间的调用, 调用的方式分为几种:1.同步调用同步调用是最基本并且最简单的一种调用方式, 类A的方法a()调用类B的方法b(), 一直等待b()方法执行完毕, a()方法继续往下走. 这种调用方式适用于方法b()执行时间不长的情况, 因为b()方法执行时间一长或者直接阻塞的话, a()方法的余下代码是无法执行下去的, 这样会造成整个流程的阻塞.2.异步调用异步调用是为了解决同步调用可能出现阻塞, 导..原创 2020-09-01 14:33:57 · 174 阅读 · 0 评论 -
腾讯T8架构师熬夜3天才整理出深入浅出MyBatis技术原理与实战
前言随着手机、平板电脑等移动终端的广泛应用,移动互联网时代已经到来。在这个时代里,构建一个高效的平台并提供服务是移动互联网的基础,在众多的网站服务中,使用Java构建网站的不在少数。移动互联网的特点是大数据、高并发,对服务器往往要求分布式、高性能、高灵活等,而传统模式的Java数据库编程框架已经不再适用了。在这样的背景下,一个Java的持久框架MyBatis走入了我们的世界,它以封装少、高性能、可优化、维护简易等优点成为了目前Java移动互联网网站服务的首选持久框架,它特别适合分布式和大数据网络数据库的原创 2020-08-29 13:18:39 · 2503 阅读 · 6 评论