- 博客(27)
- 收藏
- 关注
原创 还在苦呵呵自学Java?一小时快速帮你搞定Java语法基础,正在直播中!
还在苦呵呵自学Java?一小时快速帮你搞定Java语法基础,正在直播中!戳我!进入直播间戳我!进入直播间……
2020-08-20 20:48:58
203
原创 打击低效加班,拒绝形式主义!
导读:最近,阿里巴巴宣布取消周报制度,其员工无需在周末对本周工作进行汇总。声明要杜绝形式大于没有思想的PPT。我曾经在日本一家软件企业工作过,别说周报,要写每天的日报,日报会以邮件形式会发给一个小组的所有成员,以及上面的关联领导的,日报也会在系统中体现,项目成员都会看到。后来在国内公司工作,后来我也推行过同样的任务。对于小型团队(10-30人左右),特别是一些能力不足,原来作风懒散的员工有作用。尤其是领导要对日报或周报做review,与项目和相关工作做关联,防止堆叠文字。但是在一..
2020-07-25 19:01:13
271
原创 分布式事务的场景时数据源与非分布式事务场景的数据源到底有什么不同
一、概述 在日常项目中肯定需要用到数据源,那么数据源是什么,当遇到分布式事务的场景时数据源与非分布式事务场景的数据源又有什么不同呢,在J2EE中分布式事务又是如何实现的呢,希望本文可以解答您的疑惑。 二、 数据源 2.1 数据源是什么 通俗来讲,数据源是存储数据的地方。例如,数据库是数据源,其他系统也可以是数据源。在J2EE里,数据源是代表物理数据存储系统的实际Java对象。通过这些对象,J2EE应用可以获取到数据库的JDBC连接。 2.2 数据源的设计从UML图上可以看出,CommonDaraSo
2020-07-25 16:48:28
312
原创 二试时,面对电商系统层层提问,我真的真的太难了
二面的面试官来到来我的跟前,开始对我的简历进行了一番打量然后就开始了技术提问。面试官: 看了下你在简历上边有写到过关于电商系统的设计,那我想深入问下你在电商系统设计的几个问题哈。小林: 好的。面试官: 你们电商系统的每天的日活量大概在多少呢?小林: 嗯,日活用户数目在5万左右,搞促销活动的时候还会涉及到一些大流量的访问。面试官: 嗯嗯,那么接下来我问你几个系统内部设计的场景吧。小林: 嗯嗯。(表面风平浪静,内心还是会有些慌张)**面试官:**你刚才提到了促销活动,那么在搞促销活动
2020-07-25 16:46:58
172
原创 不用NULL的一千个理由
港真,Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的 NullPointerException,为了避免猝不及防的空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种 if 判断,麻烦而又臃肿,为此 java8 引入了 Optional 来避免这一问题。下面咱们要聊的是 MySQL 里的 null,在大量的 MySQL 优化文章和书籍里都提到了字段尽可能用NOT NULL,而不是NULL,除非特殊情况。但却都只给结论不说明原因,犹如鸡汤不给勺子一样,让不少初学者对这个结论半信半疑
2020-07-24 22:02:33
179
1
原创 二试时面对电商系统层层提问,我太难了
二面的面试官来到来我的跟前,开始对我的简历进行了一番打量然后就开始了技术提问。面试官: 看了下你在简历上边有写到过关于电商系统的设计,那我想深入问下你在电商系统设计的几个问题哈。小林: 好的。面试官: 你们电商系统的每天的日活量大概在多少呢?小林: 嗯,日活用户数目在5万左右,搞促销活动的时候还会涉及到一些大流量的访问。面试官: 嗯嗯,那么接下来我问你几个系统内部设计的场景吧。小林: 嗯嗯。(表面风平浪静,内心还是会有些慌张)**面试官:**你刚才提到了促销活动,那么在搞促销活动
2020-07-24 14:03:07
235
原创 难怪java开发三年还不涨工资,原来是这些接口不会用
接口概述:1、接口是Java语言中的一种引用类型,是方法的"集合",所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK 7及以前),额外增加默认方法和静态方法(JDK 8),额外增加私有方法(jdk9)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。public class 类名.java–>.classpublic interface 接口名.java–>.clas
2020-07-23 22:17:49
112
转载 Java循环和数组练习题:打印素数升级版
前两天一个小伙伴问了我一个数组的练习题,我一看思路很清晰,就是打印素数加了个数组。没想到写的时候啪啪打脸,终究还是没逃过眼高手低。本来不打算发出来了,因为发出来愈发显得我很菜,最后还是打算分享出来,一来想着刚学习数组的小伙伴看到了多少会有点收获,再有就是总结了两句话。题目内容:我们认为2是第一个素数, 3是第二个素数, 5是第三个素数,依次类推。现在,给定两个整数n和m, 0<n<=m<=200, 你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个..
2020-07-23 13:27:24
183
原创 数据库的悲观锁和乐观锁,这一篇让你感到通透
并发控制并发情况下,需要做一些控制(一般是加锁),保证共享数据的一致性。并发操作数据库时,需要给数据库中的数据加锁,确保数据库中数据的一致性。数据库锁的常见分类按使用方式来分:悲观锁、乐观锁按锁级别来分:共享锁、排它锁(主要是这2种,当然还有其他的)按锁粒度来分:行级锁、表级锁、页级锁悲观锁Pessimistic Lock悲观的,假设是最坏的情况,认为其它线程一定会修改当前线程使用的数据库数据,当前线程一定要给使用的数据库数...
2020-07-22 17:24:13
155
原创 面试问题之如何保证 RocketMQ 不丢失消息,这里看过来
0x00. 消息的发送流程一条消息从生产到被消费,将会经历三个阶段:生产阶段,Producer 新建消息,然后通过网络将消息投递给 MQ Broker 存储阶段,消息将会存储在 Broker 端磁盘中 消息阶段, Consumer 将会从 Broker 拉取消息以上任一阶段都可能会丢失消息,我们只要找到这三个阶段丢失消息原因,采用合理的办法避免丢失,就可以彻底解决消息丢失的问题。0x01. 生产阶段生产者(Producer) 通过网络发送消息给 Broker,当 Broker 收到
2020-07-22 13:35:21
310
原创 Druid连接池如何使用
Druid简介Druid是阿里开源的数据库连接池,作为后起之秀,性能比dbcp、c3p0更高,使用也越来越广泛。当然Druid不仅仅是一个连接池,还有很多其他的功能。druid的优点高性能。性能比dbcp、c3p0高很多。 只要是jdbc支持的数据库,druid都支持,对数据库的支持性好。并且Druid针对oracle、mysql做了特别优化。 提供监控功能。可以监控sql语句的执行时间、ResultSet持有时间、返回行数、更新行数、错误次数、错误堆栈等信息,来了解连接池、..
2020-07-21 19:15:13
1827
原创 你怎么能还不知道事务消息呢???快来看看这篇文章
在分布式系统中,为了保证数据一致性是必须使用分布式事务。分布式事务实现方式就很多种,今天主要介绍一下使用 RocketMQ 事务消息,实现分布事务。 文末有彩蛋,看完再走 为什么需要事务消息? 很多同学可能不知道事务消息是什么,没关系,举一个真实业务场景,先来带你了解一下普通的消息存在问题。上面业务场景中,当用户支付成功,将会更新支付订单,然后发送 MQ 消息。手续费系统将会通过拉取消息,计算手续费然后保存到另外一个手续费数据库中。 由于计算手续费这个步骤可以离线计算,所以这里采用 MQ 解耦支付与
2020-07-21 13:38:21
131
原创 世界上最强大的开源数据库,你了解多少呢?
如果不是领导强制要求,可能根本不会留意到这款号称世界上功能最强大的开源数据库——PostgreSQL。如果你不读这篇文章,或许也会错过一个跃跃欲试想挤进前三的优秀数据库。为了能够熟练运用,特意买书研究,发现这款数据库还真有点意思。汇总一篇文章与大家分享,目的只有一个:让大家多少了解一下这款数据库。你会发现与Mysql相比,PostgreSQL的社区并不活跃,中文资料可以说是少得可怜,在数据库中排行老四。前三都不一定全用过,谁会去记住老四呢。但下面的数据不得不让我们留意。下面是DB-Engines
2020-07-20 21:35:37
1781
转载 Redis的字符串底层到底是什么?为了速度和安全又做了什么??
面试场景面试官:Redis有哪些数据类型?我:String,List,set,zset,hash面试官:没了?我:哦哦哦,还有HyperLogLog,bitMap,GeoHash,BloomFilter面试官:就这?回家等通知吧。前言我敢肯定,第一个回答,100%的人都能说上来,但是第二个回答能回答上来的人可能就不多了,但是这也不是我今天探讨的话题。我就从我自己的去面试的回答思路,以及作为一个面试官他想听到的标准答案来给大家出一期,Redis基础类型的文章(系列文章),写
2020-07-20 13:16:17
118
原创 作为研发面试官,亲自教你面试技巧
前几天看到了一篇关于如何准备面试的文章,分享给大家。尽管很多人都讨厌 ”面试造航母,工作螺丝钉“的局面,但又不得不收起脾气假笑面对。谁让谁僧多粥少呢?2020春招过半,面试也进行了两场,在整个面试过程中,我不断被同学问到各式花样问题:“什么才是研发面试考察的核心?”“考前究竟要不要刷题?”“如果跨专业面试要怎么办?”“如何更好地描述项目经历?”“面试中有哪些面试雷区?”......眼看新的一轮面试即将开始,那些在心中憋了很久的话,今天我不得不说!一、代码能力是研发面试考察
2020-07-18 22:09:02
1606
转载 超实用5种架构模式及其适用场景分析
好莱坞电影中有多少情节?一些电影评论家说只有五个。您可以采用几种架构来实现应用程序?目前大多数程序都使用下面提到的五种架构之一。在本文中,我将五种软件架构模式的优缺点以及适合场景提炼出来作为快速参考。你可以在单个系统中使用多个架构模式,它们的组合既是计算机科学,也是一门艺术。一、分层架构这种方法可能是最常见的方法,因为它通常围绕数据库构建,并且业务中的许多应用程序自然会倾向于将信息存储在RDBMS的表中。许多比较大的软件框架(例如Java EE,Drupal和Express)都是在这种架构下实现
2020-07-18 21:08:12
511
转载 聊一聊我的java自学之路
最近经常在知乎收到类似(没基础,java 如何自学)、(怎么才能掌握编程)等等问题,再加上发现高中同学也在自学。有感而发,讲讲我的自学之路。1.1. 大学高考没正常发挥,考入一所二流的学校,当时分数也只高出录取分数线一两分,只能选择机械专业,当时分数如果高个两三分,或许可以上计算机专业,或许现在基础知识水平可能不一样,可是谁说的准那?说回正题,大学前两年,跟大多数同学一样,基本在混,该打游戏打游戏,该逃课的逃课。但是期末的时候会去临时努力一把,最后也能取个好成绩。这里说一点,后来才发现有些同学原
2020-07-18 13:58:25
208
原创 面试说好的问基础,我怎么感觉一点也不基础呢
文章有点长,文末有福利哦。小林在mysql方面因为作答不够完善,被面试官吊打了一番。经过两天的自我复习之后,新的一轮面试又开始了。面试官:你好,请简单介绍下自己吧。小林:你好,我是xxxxxx,之前在深圳的xxx公司负责了xxx系统的研发设计。面试官:嗯嗯,那我先来问你一些基础问题吧。小林:嗯嗯,好的。面试官:你了解arraylist吧,请说下内部的一些特性。小林此时心里一下子乐开了花,这个简单啊。小林:arraylist的底层主要是由数组组成,它和普通数组不太一样,arra
2020-07-17 17:46:15
486
转载 超过 8000+ 漏洞 Redis 暴露在云端!
本文授权转载自:FreeBuf.COM参考来源:trendmicro,由Kriston编译研究人员在云端发现约8000个不安全的Redis,这些Redis未使用TLS加密且未设密码保护。Redis设计之初是在受信任环境中使用,如果允许其在互联网或物联网中使用,攻击者会利用不安全的Redis服务器来发起攻击,例如SQL注入,跨站攻击,恶意文件上传、远程代码执行等。什么是Redis?Redis全称为Remote Dictionary Server,是一种开源内存数据存储结构,常用在数据库,.
2020-07-17 13:38:56
133
转载 java中的匿名对象是什么?该怎么用?
Java中的匿名对象1. 什么是匿名对象?所谓匿名对象就是没有名称的对象;2. 匿名对象有哪些常见的用法?匿名对象可以作为实际参数传递给函数; 可以直接通过匿名对象调用该对象的方法;3. 匿名对象的具体使用方式class Student { //成员变量 private String name; private int age; //构造方法 public Student(){} //成员方法 public void setName(String na...
2020-07-16 21:41:50
1979
1
原创 三年编程经验的码农,去字节跳动面试发现自己原来弱爆了
今日一问:你什么时候发现自己技术弱到爆?没错,就是面试的时候。昨天一位同学和我说,他工作了3年,特别有信心去面字节跳动的,但没有想到这么抠细节,太难了:· 什么是分布式锁?· 如何实现分布式锁?· 单机锁有哪些?它为什么不能在分布式环境下使用?· Redis 是如何实现分布式锁?可能会遇到什么问题?· 分布式锁使用超时的话会有什么问题?如何解决?…………面试中,十个公司有八个公司会像字节跳动一样,追着一个技术点不断的追问。如果你平时只注重项目可以运行,不注重.
2020-07-16 19:11:45
355
原创 这一次手把手带你理解轻量级锁CAS原理
一、实现网站访问计数器1、线程不安全的做法1.1、代码package com.chentongwei.concurrency;import static java.lang.Thread.sleep;/** * @Description: * @Project concurrency */public class TestCount { private static int count; public void incrCount() {
2020-07-16 13:24:49
1016
原创 为什么java只有值的传递
值传递和引用传递:值传递和引用传递的区别并不是传递的内容。而是实参到底有没有被复制一份给形参。在判断实参内容有没有受影响的时候,要看传的的是什么,如果你传递的是个地址,那么就看这个地址的变化会不会有影响,而不是看地址指向的对象的变化。Java中当传递的参数是对象时,其实还是值传递的,只不过对于对象参数,值的内容是对象的引用。当调用方法改变对象引用(即传递的值)时,如指向另一个对象时,原对象是不发生任何变换的,而当改变的不是传递过来的值---对象的引用,而是通过引用直接操作对象,则原对..
2020-07-15 21:16:32
103
原创 java并发实践原来是这样的
最近阅读了《Java并发编程实践》这本书,总结了一下几个相关的知识点。线程安全当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。可以通过原子性、一致性、不可变对象、线程安全的对象和加锁保护同时被多个线程访问的可变状态变量来解决线程安全的问题。可见性在没有同步的情况下,编译器、处理器以及运行时等都可能对操作的执行顺序进行一些意想不到的调整。在缺乏足够同步的多线程程
2020-07-15 13:23:29
92
原创 面试:你懂线程池的创建吗?
为什么阿里巴巴要禁用Executors创建线程池?看阿里巴巴开发手册并发编程这块有一条:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,通过源码分析禁用的原因一、线程池的定义管理一组工作线程。通过线程池复用线程有以下几点优点:减少资源创建 => 减少内存开销,创建线程占用内存 降低系统开销 => 创建线程需要时间,会延迟处理的请求 提高稳定稳定性 => 避免无限创建线程引起的OutOfMemoryError【简称OOM】二.
2020-07-14 22:04:25
201
原创 非科班出身想进阿里只能是梦吗?
前言拿到阿里实习offer,经历了5次面试,其中4轮技术面,1轮HR面试。在这里分享一下自己的面试经验和学习总结。希望能够帮助更多的小伙伴。我是小白,也是一步步成长起来的。需要提的一点是,你将来是需要靠这个吃饭的,所以请对找工作保持十二分的热情,而且越早准备越好。阿里一面一面是在上午9点多接到支付宝的面试电话的,因为很期望能够尽快接到阿里的电话,所以非常兴奋。电话接通之后还是非常紧张的,毕竟是第一次这样的面试。中间面的问题有些记不清了,下面列出了一面问到的问题:自我介绍下自己,不超过3分钟
2020-07-14 16:40:08
623
原创 四年奋斗在深圳的程序员,今年选择回了老家
四年奋斗在深圳的程序员,今年选择回了老家不知不觉,已经在深圳做后端开发已经4年了,仍然记得去深圳那年,是深圳最冷的冬天,在深圳待过的朋友,都知道深圳是很难结冰的,而那年,深圳很多地方却下了雪。在深圳的几年,市民中心是最经常去的地方,泡个图书馆,广场听弹唱,还有春暖花开娇羞欲滴的木棉花,在这里,还有一段不可告人的秘密,都是很美好的记忆。在深圳干程序员4年,买了两套房攒88万,再见深圳!回来了老家这几年,毕业后最美的光阴都献给了深圳,深圳也给了我丰厚的回报,工资从几千到几万,也使得我不在囊肿羞涩,从刚毕
2020-07-14 12:31:42
648
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人