程序员学习交流学习群:908676731
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。
在继北京西二旗程序员,上海张江码农,深圳南山技术男后,中国工程师群体又多了一个冉冉升起的门派:杭派工程师。 据猎聘《2018中国重点城市工程师大数据与调研报告》显示,2017年一季度到2018年二季度期间,互联网工程师人才净流入分布情况,杭州以12.46%的流入率排名第一。
近日,有一个网友在小密圈提了一个问题,我本来觉得这个问题应该挺简单的,没想到这个问题在圈子里引起了广泛的讨论。 问题:前辈,请教个问题,下面两行代码,会在JAVA字符串常量池中产生几个字符串。
一、缓存一致性问题 当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。
一.概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量,需要进行服务集群化部署,本文主要介绍服务端Tomcat多实例部署,以及如何保证web服务的高可用方案。
程序员会有中年危机,一个很大的因素来自:我们曾经引以为傲、赖以生存的开发技术会被淘汰。而学习新开发技术成本太高。看着快速崛起的年轻人,不免使人心生:廉颇老矣的感慨。
无论是运维、开发、测试,还是架构师,数据库技术是一个必备加薪神器,那么,一直说学习数据库、学MySQL,到底是要学习它的哪些东西呢?此文为你揭晓,你值得一看!看过别忘记点赞+转发支持哦。
8月28号抖音上一个#最好养活小姐姐#成都小甜甜火了,原因是在“成都最街坊”话题中,视频里小姐姐的回答温暖了千万网友。 “你觉得男人一个月多少工资可以养活你?” “养活我啊,能带我吃饭就好。
一、 今年是2018年,腾讯20周年。我30周岁,刚好在腾讯工作满8年。 我从来没有想过自己会在同一家公司工作8年。
工作1-5年开发经验,当你们提出涨工资的时候,或者要offer的时候底气怎么样,是不是底气十足,不给涨工资就辞职,是不是有自信提出来主管、或者是项目经理都能同意,他们相当设法把你留住。
程序员的薪水远高于其它行业,很多朋友都是因为软件开发的高薪水而转行过来的。但同时,当我们发现了自己的追求,想要离开时,我们已经获得的薪酬水平就会成为我们的羁绊。
【阿里天猫、蚂蚁、钉钉面试题目】 不会做别着急:文末有答案以及视频讲解,架构师资料 1. junit用法,before,beforeClass,after, afterClass的执行顺序 2.
今天下午,这个视频在技术群里疯传,据传是一位24岁的程序员在工作中猝死,在为他惋惜的同时,希望借助这个事情来为大家的健康敲一个响钟。
我们知道分布式锁的特性是排他、避免死锁、高可用。分布式锁的实现可以通过数据库的乐观锁(通过版本号)或者悲观锁(通过for update)、Redis的setnx()命令、Zookeeper(在某个持久节点添加临时有序节点,判断当前节点是否是序列中最小的节点,如果不是则监听比当前节点还要小的节点。
@Controller @RestController: @Service @Autowired @RequestMapping @RequestParam @ModelAttribute @Cac...
程序员的迷茫不仅仅是面对技术繁杂的无力感,更重要的是因为长期埋没于软件 世界的浩大的分工体系中,无法看清从业务到软件架构的价值链条,无法清楚定位自 己在分工体系的位置,处理不好自身与技术、业务的关系所致。
事例一:震惊IT界天才程序员跳楼自杀事件,最杀人的还是人心 2017年9月7日凌晨5点左右,WePhone创始人兼开发者苏享茂,在公司附近的住所处跳楼自杀。
程序员是一个具备长久生命力的职业 我大学刚毕业的时候,程序员还是一个年轻的职业,那个年代,我们都没见过35岁以上的程序员。
最近部门招聘,很多工程师,包括我在内都参与了内推和面试的过程,经过这次招聘,我发现能够最终拿到offer的人,基本上在看到简历的那一瞬间就已经定下来了,后续的面试只不过是一种验证而已(注意,是验证,而不是走过场),除非你面试过程中犯错误,或者你不想来,否则,那个offer一定是可以拿下的。
本文一大重点是源码解析,不过线程池设计思想以及作者实现过程中的一些巧妙用法是我想传达给读者的。本文还是会一行行关键代码进行分析,目的是为了让那些自己看源码不是很理解的同学可以得到参考。
SQL 注入攻击 首先了解下概念,什么叫SQL 注入: SQL注入攻击,简称SQL攻击或注入攻击,是发生于应用程序之数据库层的安全漏洞。
今天下午,这个视频在技术群里疯传,据传是一位24岁的程序员在工作中猝死,在为他惋惜的同时,希望借助这个事情来为大家的健康敲一个响钟。
1、要从技【术思维编】程【产品思维】 很多技术出身的伙伴,容易以自己的想法和技术为出发点,我的想法很超前,我的技术很牛X,所以我做的东西大家一定喜欢,什么问题我都能解决! 然后闷头开发三个月,拿出来用户不买账,这就是技术思维,纯种码农..... 你想要开发的任何一款产品,都应该是以用户为出发点的,做真正解决用户痛点的产品,或者是让用户爽的产品,这是产品思维, 什么是用户痛点? 很多初级产品经理会觉得是用的需求,其实不是,是用户的害怕,是恐惧,是担心。
介绍 RxBus 是一个发布/订阅模式的事件总线,用法和 EventBus 一样简单。RxBus 基于 RxJava 开发,除了拥有和 EventBus 一样简单的事件总线机制之外,还拥有 RxJava 的丰富特性。
一直想写一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混。自认为本文还是写得不错的,花了不少心思来写这文章和做图,力求让读者真的能看着简单同时有所收获。
概述 一个产品业务的发展总是离不开运营二字。随着业务快速的发展以及新业务的扩充,运营需求越来越大,并且很多时候需要追热点,因此在有限的资源下,如何做到快速、准确、灵活、稳定的满足日趋增多的运营需求,成了个问题。
本文内容:读写锁 ReentrantReadWriteLock 的源码分析,基于 Java7/Java8。 阅读建议:虽然我这里会介绍一些 AQS 的知识,不过如果你完全不了解 AQS,看本文就有点吃力了。
在《OKHTTP3源码和设计模式(上篇)》,中整体介绍了 OKHttp3 的源码架构,重点讲解了请求任务的分发管理和线程池以及请求执行过程中的拦截器。
java 线程池问题,我相信很多人都一知半解的,包括我自己在仔仔细细看源码之前,也有许多的不解,甚至有些地方我一直都没有理解到位。
本文来探究一下 OkHttp3 的源码和其中的设计思想。 关于 OkHttp3 的源码分析的文章挺多,不过大多还是在为了源码而源码。
博主说:也许我们都不是天才的程序员,但至少我们都可以成为一个理想的程序员。 正文 我算是靠坑蒙拐骗进了程序员的门,然后一路狂奔。
曾经写过一点关于代码评审(code review)的文章,现在觉得关于它的认识又有了不少更新。软件工程的技术和实践分成两部分,一部分是和书本知识一致的,大约占一半,这部分基本上在大学里就可以学,自学只要方法得当、刻苦努力也可是途径;但是第二部分来自于实际团队、经验,内容通常无法从书本当中获得,而且难说对错,不同的人和不同的经历造就了不同的认识。
对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即我的Idea列表上的一个个酷炫的项目,先满足自己再说。 理论驱动的项目。
前言 不管是在面试还是实际开发中 volatile 都是一个应该掌握的技能。 首先来看看为什么会出现这个关键字。 内存可见性 由于 Java 内存模型(JMM)规定,所有的变量都存放在主内存中,而每个线程都有着自己的工作内存(高速缓存)。
众所周知 synchronized 关键字是解决并发问题常用解决方案,有以下三种使用方式: 同步普通方法,锁的是当前对象。
本节我们开始讲解 RPC 的消息协议设计背后的基本原理,了解 RPC 的协议开发背后有哪些需要考虑的基本点。在通晓原理之后,我们就可以自己设计一套协议来开发属于自己的 RPC 系统。
最近去阿里的菜鸟国际做了一次面试交流,发现大公司对于面试者的知识结构考核非常严谨,可以作为我们日常工作学习的指导。虽然很多人说面试问到的东西在实际工作中很少用到,甚至有「面试造火箭,工作拧螺丝」的说法。
让我们面对现实,每个开发人员都希望个人的技术能力以及团队协同能力可以随着时间的推移不断得到提高。但大多数开发者都会提出的一个重要且关键性的问题:如何才能做到这一点呢?接下来,本文作者以自身的开发经验分享在编程时作为开发者应该牢记的 142 条忠告,以成为更好的程序员。
主要内容 Spring的使命——简化Java开发 Spring容器 Spring的整体架构 Spring的新发展 现在的Java程序员赶上了好时候。
这些属性是否生效取决于对应的组件是否声明为 Spring 应用程序上下文里的 Bean(基本是自动配置的),为一个不生效的组件设置属性是没有用的。
Spring框架对于Java后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,但了解之后才知道有很多巧妙的设计在里面。
前言 现在越来越多的互联网公司还是将自己公司的项目进行服务化,这确实是今后项目开发的一个趋势,就这个点再凭借之前的 SSM 项目来让第一次接触的同学能快速上手。
许多程序员自称码农,因为每天事情总也做不完,而这些工作也没有给自己带来职业上的提升,总在原地打转,自己的工作似乎随时可被新人替换,可有可无。
ZooKeeper简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。
前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。
微服务架构在大型电商中的运用 电商是促销拉动式的场景,也是价格战驱动的场景。618和双11都是典型的促销活动。其实都是在抢用户、扩市场占有率。
众所周知 HashMap 是一个无序的 Map,因为每次根据 key 的 hashcode 映射到 Entry数组上,所以遍历出来的顺序并不是写入的顺序。
READ UNCOMMITTED 未提交读 在READ UNCOMMITTED级别,事务中的修改,即使没有提交,对其他事务也都是可见的。
在展开 Spring Cloud 的微服务架构部署之前, 我们先了解一下用于构建微服务的基础框架-Spring Boot。
1 Dubbo简介 Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。