- 博客(110)
- 收藏
- 关注
原创 腾讯工作近十年大佬:不是我打击你!你可能真的不会写Java
文章核心其实,本不想把标题写的那么恐怖,只是发现很多人干了几年 Java 以后,都自认为是一个不错的 Java 程序员了,可以拿着上万的工资都处宣扬自己了,写这篇文章的目的并不是嘲讽和我一样做 Java 的同行们,只是希望读者看到此篇文章后,可以和我一样,心平气和的争取做一个优秀的程序员。腾讯工作近十年大佬:不是我打击你!你可能真的不会写Java关注公众号:「Java知己」,发送「102...
2019-07-05 15:29:36 2157 4
转载 程序员必备神器,脑洞不是一般大!
原文链接:http://blog.kotom.cn/programmer-imagination-greater.html程序员自制按摩椅[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cw99O9O5-1576806107692)(http://blog.kotom.cn/wp-content/uploads/2019/12/01.jpg)]程序员专属“零...
2019-12-20 09:42:53 1941
转载 阿里巴巴为什么能抗住90秒100亿?看完这篇你就明白了!
1. 概述本文以淘宝作为例子,介绍从一百个到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。特别说明:本文以淘宝为例仅仅是为了便于说明演进过程可能遇到的问题,并非是淘宝真正的技术演进路径2. 基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进...
2019-12-18 14:59:04 542
转载 Intellij IDEA神器居然还有这些小技巧
概述Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intellij IDEA技巧分享给大家。本文是这个系列的第一篇,主要介绍一些你可能不知道的但是又实用的小技巧。我最爱的【演出模式】我们可以使用【Presentation Mode】,将IDEA弄到最...
2019-12-06 10:53:43 516
原创 Java 学习之路让我帮助很大的书籍
笔主目前从事Java工作已经5年,满打满算下来,从大二上学期接触 Java 到现在也快走过了 7 个年头。在学习 Java 过程中,网上的一些视频还有一些书籍对我帮助都很大。下面就我自己看过的一些书籍,来分享一些对我帮助比较大的书籍。1《Head First Java. 第二版》[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fnPHeqD6-1575423102...
2019-12-04 09:50:32 256
转载 分库分表就能无限扩容吗,解释得太好了!
前言像我这样的菜鸟,总会有各种疑问,刚开始是对 JDK API 的疑问,对 NIO 的疑问,对 JVM 的疑问,当工作几年后,对服务的可用性,可扩展性也有了新的疑问,什么疑问呢?其实是老生常谈的话题:服务的扩容问题。正常情况下的服务演化之路让我们从最初开始。单体应用 每个创业公司基本都是从类似 SSM 和 SSH 这种架构起来的,没什么好讲的,基本每个程序员都经历过。RPC 应用...
2019-11-26 11:04:55 250
原创 五年经验程序员告诉你,如何确定自己是否适合做程序员
在知乎上看到一个问题,如何确定自己是否适合做程序员?好多答主都说需要智商高,对计算机有兴趣爱好,抽象能力要好。……啊呸,也不知道这些刚下飞机的答主是不是程序员。我在 it 行业工作了三年,换了几家公司,所以就以我三年程序员的经历,来说说做一名程序员需要什么。1、喜欢运动,保持良好的身体去扛住 9962、极强的心理素质,看着每天洗脸盆里的头发丝毫不慌看,老师从来不慌3、强...
2019-11-25 09:55:08 707
原创 你的编程能力从什么时候开始突飞猛进?
1、学习一门新的编程语言的时候我的第一份工作是 Android 攻城师,做了有两年左右,发现自己平时的工作几乎都是在设计页面布局,这不是我理想的工作(我的理想工作是不上班 [/ 坏笑])。因为经常和 Java 后端人员接触,感觉他们工作挺炫酷的,敲几行代码,在浏览器输入一个地址,就能打开一个自己设计的网页,简直太牛 P 了。因此决定向 Java 后端发展。之后又有爬取数据的需求,有利用业余时间学...
2019-11-20 10:56:29 6014 6
翻译 10 个提升效率的Linux小技巧
您是否曾经惊讶于看到某人在 UNIX 中非常快速地工作,触发命令并快速地执行操作?是的,我碰到过几次,并且我一直都在向那些超级巨星开发者学习。在本文中,我想分享一些 UNIX 命令实践,这些实践是我在Linux 中快速,快速或有效地工作所遵循的。我在金融服务行业工作,我的工作涉及电子交易,衍生工具等领域中在线股票和期货交易应用程序的开发和支持。我们的所有服务都在 Linux 服务器上运行,因此我需...
2019-11-19 10:18:05 505
转载 8 种经常被忽视的 SQL 错误用法,你有没有踩过坑?
1、LIMIT 语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。SELECT * FROM operation WHERE type = 'SQLStats' AND name = 'S...
2019-11-18 13:37:55 796 1
转载 十大优秀编程项目,让你的简历金光闪闪
全文共 3241 字,预计学习时长 6 分钟被问到如何学习编程时,最常听到的问题就是:“有没有什么新项目的好点子?”一些老套的答案有:“做一个象棋游戏” 或者 “命令行界面”。这些答案没有错,但这些例子不符合现代编程的需要。现代软件编写需要经常使用软件服务化(SaaS)和网络应用,这意味着程序员需要了解如何在线编程。用户网站或应用程序的编程需要服务器、身份验证和数据库,这个过程十分复杂。...
2019-11-15 14:38:30 647
转载 Java 8:一文掌握 Lambda 表达式
本文将介绍 Java 8 新增的 Lambda 表达式,包括 Lambda 表达式的常见用法以及方法引用的用法,并对 Lambda 表达式的原理进行分析,最后对 Lambda 表达式的优缺点进行一个总结。1. 概述Java 8 引入的 Lambda 表达式的主要作用就是简化部分的写法。能够使用 Lambda 表达式的一个重要依据是必须有相应的函数接口。所谓函数接口,是指内部有且仅有一个...
2019-11-08 10:14:05 161
转载 一文详解微服务架构(一)
本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。最初的需...
2019-11-07 09:58:09 254
原创 Java的参数传递是「按值传递」还是「按引用传递」?
Java 编程语言中最大的困惑之一就是: java 是按值传递还是按引用传递。我在面试中经常会问面试者这个问题,但还是有很多面试者对这个问题的理解不是很正确。有很多面试者是这样理解的:如果传递类型为基础数据类型,则按值传递,如果传递类型为类,则按引用传递。这样的理解正确吗?他们甚至还可以写出示例代码来验证他们的想法,让我们来一起看一看大多数人是如何验证“基础类型按值传递,非基础类型按...
2019-11-05 12:21:17 243
转载 Java堆空间Vs栈内存
之前我写了几篇有关Java垃圾收集的文章之后,我收到了很多电子邮件,请求解释Java堆空间,Java栈内存,Java中的内存分配以及它们之间的区别。您可能在Java,Java EE书籍和教程中看到很多有关堆和变量内存的参考,但是几乎没有就程序而言完全解释堆和栈的内存分配的。Java堆空间Java运行时使用Java堆空间为对象和JRE类分配内存。每当我们创建任何对象时,它总是在堆空间中创建。...
2019-11-04 10:48:39 172
原创 Java 异常面试问题与解答
Java 提供了一种健壮且面向对象的方法来处理称为 Java异常处理的异常情况。1. Java中的异常是什么?异常是在程序执行期间可能发生的错误事件,它会破坏其正常流程。异常可能源于各种情况,例如用户输入的错误数据,硬件故障,网络连接故障等。每当执行 Java 语句时发生任何错误,都会创建一个异常对象,然后 JRE尝试查找异常处理程序来处理该异常。如果找到了合适的异常处理程序,则将异常对象传...
2019-11-01 11:04:41 374
原创 Java中Array与ArrayList的10个区别
Array和ArrayList都是Java中两个重要的数据结构,在Java程序中经常使用。并且ArrayList在内部由Array支持,了解Java中的Array和ArrayList之间的差异对于成为一名优秀的Java开发人员也至关重要。如果您知道相似点和不同点,则可以明智地决定何时在AraryList上使用数组,反之亦然。在本文中,我将帮助您了解ArrayList和Java中的数组之间的区别。如...
2019-10-31 11:18:05 831
转载 Java 程序员应在2019年学习的10条面向对象(OOP)设计原则
面向对象的设计原则 是 OOP 编程的核心,但是我看到大多数 Java 程序员都在追求诸如 Singleton 模式,Decorator 模式或 Observer 模式之类的设计模式,而对学习面向对象的分析和设计没有给予足够的重视。了解诸如抽象,封装,多态和继承之类的面向对象程序设计的基础很重要。但是,与此同时,了解面向对象的设计原则也同样重要。它们将帮助您创建简洁的模块化设计,将来可以轻松...
2019-10-30 11:12:28 201
原创 避免Java中NullPointerException的Java技巧和最佳实践
Java应用程序中的NullPointerException是解决它的最佳方法,这也是编写可以立即运行的健壮程序的关键。而是它说的“预防胜于治疗”,讨厌的NullPointerException也是如此。值得庆幸的是,通过应用一些防御性编码技术并遵循应用程序多个部分之间的约定,您可以在一定程度上避免Java中的NullPointerException。顺便说一下,在本文中,我们将学习一些Jav...
2019-10-29 10:36:37 393
原创 21个Java Collections面试问答
Java Collections框架是Java编程语言的核心API之一。这是Java面试问题的重要主题之一。在这里,我列出了一些重要的Java集合面试问题和解答,以帮助您进行面试。这直接来自我14年以上的Java编程经验。1、Java 8中与Collections相关的功能是什么?Java 8对 Collection API 进行了重大更改。一些更改是:Java Stream API 用...
2019-10-28 14:32:14 608 1
转载 为什么不允许使用 Java 静态构造函数?
不允许使用 Java 静态构造函数,但是为什么呢?在深入探讨不允许使用静态构造函数的原因之前,让我们看看如果要使 构造函数静态化 会发生什么。Java 静态构造函数假设我们有一个定义为的类:public class Data { private int id; public static Data() {}}如果您尝试编译此类,则会在 Data 类型的构造函数中收到一条错误消...
2019-10-28 10:07:27 383
转载 Java 泛型示例 - 泛型方法,类,接口
Java Genrics 是 Java 5 中引入的最重要的功能之一。如果您一直在使用Java Collections并使用版本 5 或更高版本,那么我确定您已经使用过它。Java 中具有集合类的泛型非常容易,但是它提供了比仅创建集合类型更多的功能。我们将在本文中尝试学习泛型的功能。如果我们使用专业术语,对泛型的理解有时会变得混乱,因此,我将尽量保持其简单易懂。1. Java 中的泛型J...
2019-10-25 11:06:48 386
转载 Java中的集合-您必须知道的13件事
Java Collections Framework是Java编程语言的核心部分之一。集合几乎用于任何编程语言中。大多数编程语言都支持各种类型的集合,例如List, Set, Queue, Stack等。1.什么是Java Collections Framework?集合就像容器一样,将多个项目组合在一个单元中。例如,一罐巧克力,一组名称等。某个编程语言都使用了Collections,当Ja...
2019-10-25 11:05:15 217
转载 Java多线程并发面试问答
Java并发面试问答什么是原子操作?Java并发API中的原子类是什么?原子操作在单个任务单元中执行,而不受其他操作的干扰。在多线程环境中,原子操作是必需的,以避免数据不一致。int++不是原子操作。因此,当一个线程读取其值并将其递增1时,另一线程读取了较早的值,从而导致错误的结果。为了解决这个问题,我们必须确保对count的增量操作是原子的,我们可以使用Synchronization做到...
2019-10-24 09:35:48 181
转载 Java多线程面试问答
今天,我们将讨论Java 多线程面试问答。线程是Java面试问题中的热门话题之一。在这里,我从面试的角度列出了大多数重要的Java多线程面试问题,但是您应该对Java线程有足够的知识来处理后续问题。Java多线程面试问答1、Process和Thread有什么区别?进程是一个独立的执行环境,可以将其视为程序或应用程序,而线程是进程中执行的对应任务。Java运行时环境作为交替运行,其中包含不同...
2019-10-23 10:01:02 212
转载 Java字符串面试问答
字符串是使用最广泛的Java的类之一。在这里,我列出了一些重要的Java的字符串面试问答。这将有助于您全面了解String并解决面试中与String有关的任何问题。Java基础面试问题Java中的字符串是什么?字符串是数据类型吗?String是Java中的一个类,并在java.lang包中定义。它不是像int和long这样的原始数据类型。字符串类表示字符串。几乎所有Java应用程序都使用S...
2019-10-22 10:22:16 211
转载 14个Java并发容器,你用过几个?
不考虑多线程并发的情况下,容器类一般使用 ArrayList、HashMap 等线程不安全的类,效率更高。在并发场景下,常会用到 ConcurrentHashMap、ArrayBlockingQueue 等线程安全的容器类,虽然牺牲了一些效率,但却得到了安全。上面提到的线程安全容器都在 java.util.concurrent 包下,这个包下并发容器不少,今天全部翻出来鼓捣一下。仅做简单介绍,...
2019-10-15 09:49:46 289
转载 6种微服务RPC框架,你知道几个?
开源 RPC 框架有哪些呢?一类是跟某种特定语言平台绑定的,另一类是与语言无关即跨语言平台的。跟语言平台绑定的开源 RPC 框架主要有下面几种。Dubbo:国内最早开源的 RPC 框架,由阿里巴巴公司开发并于 2011 年末对外开源,仅支持 Java 语言。Motan:微博内部使用的 RPC 框架,于 2016 年对外开源,仅支持 Java 语言。Tars:腾讯内部使用的 RPC 框架,...
2019-10-14 17:19:45 2281 1
转载 Java中Set与Set<?>到底区别在哪?
您可能知道,无界通配符 Set<?> 可以容纳任何类型的元素,而原始类型Set也可以容纳任何类型的元素。那它们之间有什么区别呢?1.关于Set<?>的两个事实关于Set<?>有两个事实:Item 1:?代表任何类型。Set<?> 可以容纳任何类型的元素。_Item 2:因为我们不知道?的类型,所以不能将任何元素放入Set<?>。...
2019-10-14 17:18:04 407
原创 最热门的 10 个 Java 微服务框架
1、Spring BootJava 构建 Spring 应用程序已经有很长一段时间了,Spring Boot 是 Spring 的一个特定版本,它通过对配置细节的处理,使微服务构建更加简便。创建 Spring Boot 旨在自启动任何类型的 Spring 项目,而不仅仅是微服务。应用程序完成后,Spring Boot 将在 web 服务器中混合,并输出一个 JAR 文件,JVM 除外。你可以将其...
2019-09-26 10:21:23 1332 1
原创 由浅入深,讲解 spring 实战详细使用——spring 源码篇
首先,这篇文章不会详细的深入底层源码,只是基于注解和配置来说说我们的 spring 的使用,别小看基础,保证有你没用过的注解和配置,走起。我们先来建立一个 maven 项目,引入 spring 文件,不爱弄的在文章最下面有代码地址可以去下载。先看,后面自己下载代码自己去尝试。先给你们吧,边尝试边看吧。1. 基础 XML 注入 Bean<?xml version="1.0" encodi...
2019-09-25 10:46:25 188
原创 图解Java常用数据结构
最近在整理数据结构方面的知识, 系统化看了下 Java 中常用数据结构, 突发奇想用动画来绘制数据流转过程.主要基于 jdk8, 可能会有些特性与 jdk7 之前不相同, 例如 LinkedList LinkedHashMap 中的双向列表不再是回环的.HashMap 中的单链表是尾插, 而不是头插入等等, 后文不再赘叙这些差异, 本文目录结构如下:LinkedList经典的双链表结构,...
2019-09-24 17:10:33 182 1
原创 Java13 闪亮来袭,你是否还停留在 Java8
近期 Java 界好消息频传。先是 Java 13 发布,接着 Eclipse 也发布了新版本表示支持新版本的 Java 特性。本文介绍了 Java 13 的新特性并展示了相关的示例。2019 年 9 月 17 日,Java 13 正式发布。特性如下。Java 13 新特性此版本带来了以下几大新特性:JEP 350,Dynamic CDS Archives:扩展应用程序类 - 数据共享...
2019-09-24 10:03:53 1085
转载 程序员,你还不会合理选择Filter、Interceptor、Aspect?
小伙伴们应该听说过过滤器、拦截器、切面,印象上都能够起到截断拦截的作用,在做一些业务需求时,不知道如何选择,今天老顾就来介绍一下他们之间的区别。过滤器可以拦截到方法的请求和响应 (ServletRequest request, ServletResponse response), 并对请求响应做出过滤操作。过滤器依赖于 servlet 容器。在实现上,基于函数回调,它可以对几乎所有请求进行过...
2019-09-23 10:13:21 167
转载 做了这么久的程序员,你知道为什么会有 Lambda 表达式吗?
Java8 有一些新的特性,今天老顾给大家分享一下关于 Lambda 表达式的由来,一开始感觉 Lambda 可读性蛮差的,不知道**为什么 Java8 会出来这个表达式?**既然大佬们推出来,肯定是有原因的,应该是为了解决一些问题,那我们就看看解决了什么问题?班导想了解一下各个同学的相关情况:1、来自苏州的有哪些同学上面的伪代码,是不是很简单,写一个方法,直接过滤出苏州地区的学生。班...
2019-09-20 11:01:36 246
转载 你真的理解 Java 中的 try_catch_finally 吗?
try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?看几个例子,回顾一下执行顺序例子 1 无异常,finally 中的 return 会导致提前返回public static String test() { try { Sy...
2019-09-19 10:40:08 185
原创 Java开发人员经常犯的10大错误
我们在这里总结了Java开发人员经常犯的十大错误,看看你中了几个?1、将Array转换为ArrayList要将Array转换为 ArrayList,开发人员通常会这样做:List<String> list = Arrays.asList(arr);Arrays.asList()将返回ArrayList一个私有静态类Arrays,不是它java.util.ArrayList类...
2019-09-17 10:34:40 3129 1
翻译 每个Java开发人员都应该知道的10个基本工具
大家好,我们已经在2019年的第9个月,我相信你们所有人已经在2019年学到了什么,以及如何实现这些目标。我一直在写一系列文章,为你提供一些关于你可以学习和改进的想法,以便在2019年成为一个更好的、全面的开发人员,比如学习新的编程语言、框架和库。这三件事非常重要,可以帮助您成为更好的Java开发人员,但正如一些有智慧的人说的那样,“您应该像工具一样好”,您还应该着手升级工具,学习新工具并提高效率...
2019-09-12 14:01:27 484
原创 作为Java开发人员不会饿死的5个理由
尽管已有20多年的历史,Java仍然是最广泛使用的编程语言之一。只需看看统计数据:根据2018年Stack Overflow开发人员调查,Java是世界上第三大最受欢迎的技术。TIOBE指数,这是一个基于技术熟练的工程师数量全球排名,课程和第三方供应商,显示了一个更令人印象深刻的成绩,Java处于第一位置。看看过去15年的结果,Java一直被评为第一或第二最流行的语言。考虑到如此大规模的流...
2019-09-11 17:13:36 676
原创 为什么Java不是纯面向对象语言?
什么是纯面向对象语言?纯面向对象语言或完全面向对象语言是指完全面向对象的语言,它支持或具有将程序内的所有内容视为对象的功能。它不支持原始数据类型(如int,char,float,bool等)。编程语言满足七种标准可以就可以称为纯粹的面向对象语言,他们是:封装/数据隐藏继承多态性抽象化所有预定义类型都是对象所有用户定义的类型都是对象对对象执行的所有操作必须仅通过对象公开的方法为...
2019-09-10 16:45:14 1457 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人