Java - 收藏集 -
Java 基础思维导图,让 Java 不再难懂 - 工具资源 - 掘金
思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具。了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板。 思维导图不仅仅只有简单明了这个好处,它还能加深人对主题的印象和...
一文让你明白 Java 字节码 - 后端 - 掘金
Intro 在这,我们相互学习,共同成长,分享使我们并不孤单. BRVAH@www.recyclerview.org ...
使用示例带你提前了解 Java 9 中的新特性 - 掘金
Java 作为 Android 的基础编程语言,每一次迭代也是备受安卓开发人员的关注。这不,Oracle 公司在今年即将发布 Java 9 正式版,一些新的特性和改进很是值得期待。 周末时间,拜读了国外的一个 Java 大牛写的有关 Java SE 9 的新功...
Java 数据结构之 Map 学习总结 - Android - 掘金
前言: 前面学习总结了List的使用及效率对比,今天总结学习一下键值映射关系Map,顺便学习一下Android中使用Map需要注意哪些,以及谷歌官方针对Android对Map做了哪些优化。 先了解下Map ...
设计模式系列 - 观察者模式的实现与总结 - 后端 - 掘金
JAVA设计模式系列: 单例模式 观察者模式 ...
一看你就懂,超详细 java 中的 ClassLoader 详解 - Android - 掘金
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoa...
设计模式-观察者模式 - 掘金
可进入我的博客查看原文。 定义 观察者模式定义了对象之间的一对多依赖,使得当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。观察者模式又叫发布/订阅模式。 角色 抽象主题(Subject):它把所有观察者对象的引用保存到一个列表里,每个主题都可以有...
Java 语法清单 - 后端 - 掘金
Java 语法清单翻译自 egek92 的 JavaCheatSheet,从属于笔者的 Java 入门与实践系列。时间仓促,笔者只是简单翻译了些标题与内容整理,支持原作者请前往原文点赞。需要注意的是,此文在 Reddit 上也引起了广泛的讨论,此文讲解的语法要...
SSM(十) 项目重构-互联网项目的Maven结构 - 掘金
互联网项目的maven.jpg 前言 很久没有更新博客了,之前定下周更逐渐成了月更。怎么感觉像我追过的一部动漫。这个博文其实很早就想写了。之前所有的代码都是在一个模块里面进行开发,这和maven的理念是完全不相符的,最近硬是抽了一个时间来对项目的结构进行了一次...
程序员必备利器——Java程序性能分析工具Java VisualVM(Visual GC) - 掘金
程序员必备利器——Java程序性能分析工具Java VisualVM(Visual GC) VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量...
Java 泛型详解 - 后端 - 掘金
泛型是 Java 中一个非常重要的知识点,在 Java 集合类框架中泛型被广泛应用。本文我们将从零开始来看一下 Java 泛型的设计,将会涉及到通配符处理,以及让人苦恼的类型擦除。...
趣谈并发 2:认识并发编程的利与弊 - Android - 掘金
读完本文你将了解: ...
设计模式之单例模式 - 掘金
前言 作为一个好学习的程序开发者,应该会去学习优秀的开源框架,当然学习的过程中不免会去阅读源码,这也是一个优秀程序员的必备素养,在学习的过程中很多人会遇到的障碍,那就是设计模式。很多优秀的框架会运用设计模式来达到事半功倍的效果。鉴于自己之前对设计模式的生疏,在...
javascript array js 缓存算法,数组去重、数组随机抽取、字母串转数字,数字转字符串 - 前端 - 掘金
前言 因为平时在写代码的过程中,有些算法会经常重复写,比如数组去重、数组抽取随机值等!虽然这些不是很难的逻辑,但是每次刚开始遇到需求的时候,还是需要琢磨一些时间才能想出来,所以此文档把这些常见算法的思想记录下...
Java 开发者应该学习的 8 个工具 - Android - 掘金
在Stormpath(一款用户管理和认证服务),我们认真对待质量和效率。任何一个优秀的工匠,仅仅拥有天赋是不够的,你在工作中还需要正确的工具。工程学不仅仅是科学,更是艺术。所以,在Stormpath,尽管我们拥有天赋,我们仍不断寻找所需的有用的工具。我们的工程...
50道Java基础编程练习题 - 掘金
50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈,这里为了做收藏用。 1.指数计算问题 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔...
深入分析 Java Web 中的中文编码问题 - 后端 - 掘金
深入分析 Java Web 中的中文编码问题 背景: 编码问题一直困扰着程序开发人...
深入分析 Java I/O 的工作机制 - 后端 - 掘金
Java 的 I/O 类库的基本架构 I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以...
十分钟-Nginx入门到上线 - 掘金
前言 新书Java并发编程系统与模型已上线,欢迎拜读。 由于微信小程序要使用Https,但是又不能修改已有线上的配置。所以最简单的方法就是使用nginx转发,在nginx上使用https,然后再转发到内部服务器。Nginx由于其优良的性...
我的 Java 后端书架 - 后端 - 掘金
我的Java后端书架 1月前 5079 本书架主要针对Java后端开发与架构。 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不...
【Web 开发须知】WebSocket 开发指南 - 前端 - 掘金
春节假期看了一下 websocket, 做了一篇笔记, 原文链接: https://oolap.com/websocket WebSocket 由来已久, 常用于 "服务器推" 场景。最近开始学习 WebSock...
ajax-hook 原理解析 - 前端 - 掘金
最近github上出现了一个神器ajax-hook,它可以拦截所有ajax请求并允许修改请求数据和响应数据!实际项目中它可以用于请求添加统一签名、协议自动解析、接口调用统计等。本文主要分析其源码实现,抛砖引玉了。 ...
使用第三方框架解耦的一种思路 - Android - 掘金
前言: 能在平时的coding中,使用到设计模式,是一件非常细节的事,但恰恰也是走向高阶的开端,同样一段代码,不同的人写,水平是不一样的。今天是由gdutxiaoxu投稿本公众号授权发布的,gdutxiaoxu之前写的《记一次360面试》也是在本公众号独家发布...
redis从入门到精通 - 掘金
解压后的安装 [root@server1 redis-3.0.5]# make 指定安装目录: [root@server1 redis-3.0.5]# make PREFIX=/usr/local/redis install进入/usr/local/redis...
JVM 指令集整理 - Android - 掘金
指令码 助记符 说明 ...
(译) 来自 Serenity 的 Java 8 的一些使用技巧 - 后端 - 掘金
Java 8早在2014年就出来了,但是我仍发现有很多团队并没有尽量多的去使用其新的特性。可以说Java 8中最大的新特性就是Lambda表达式,这终于给Java世界引入了函数式编程的味道。 在这篇文章中,我想要给大家看一个简单的例子,通过这个...
原创翻译-Java 8新特性 - 掘金
前言 本篇翻译自oracle官网的JDK8 新特性,但是并不包含 JavaFx和安全方面的更新。 JAVA8中的新特性 Java平台的标准版第8版本是一个重大的发布版本。这篇文档概述了JAVA SE8 和...
消息队列之异步消息的基本概念以及ActiveMQ整合Spring的常用用法介绍 | 掘金技术征文 - 掘金
一 简介 (1)异步消息: 所谓异步消息,跟RMI远程调用、webservice调用是类似的,异步消息也是用于应用程序之间的通信。但是它们之间的区别是: RMI、Hession/Burlap、webservice等远程调用机制是同步的。也就是说,当客户端调用...
Java 8 并发教程:同步和锁 - 后端 - 掘金
原文:Java 8 Concurrency Tutorial: Synchronization and Locks译者:飞龙 协议:CC BY-NC-SA 4.0 欢迎阅读我的Java8并发教程的第二部分。这份指南将会以简单易懂的代码示例来教给你如何在Jav...
通过项目逐步深入了解Mybatis(四) - 掘金
相关阅读: 1、通过项目逐步深入了解Mybatis<一> 2、通过项目逐步深入了解Mybatis<二> 3、通过项目逐步深入了解Mybatis<三> 4、通过项目逐步深入了解Mybatis<四> 本项目所有代码及...
JVM 理解其实并不难! - Android - 掘金
我的简书同步发布:JVM理解其实并不难! 在阅读本文之前,先向大家强烈推荐一下周志明的《深入理解Java虚拟机》这本书。 前些天面试了阿里的实习生,问到关于Dalvik虚拟机能不能执行class文件,我当时的回答是不能,但是它执行的是class转换的de...
Java Web 技术总结系列 - 后端 - 掘金
近期收到几位读者的来信,说之前写的一个Java Web系列反响不错,但是一篇一盘翻着看不太方便,今天我将这些文章整理下做个索引的目录,后期有新的文章加入也会更新这篇目录。这些文章的内容来自我的日常工作,在解决问题的时候遇到值得记录的知识点,就会暂时记录下来,并...
最近 5 年 133 个 Java 面试问题列表 - 后端 - 掘金
Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入。 在我初入职场的时候,类似于 Vector 与 Array 的区别...
Java 面试知识点总结 - Android - 掘金
本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺(阅读本文需要有一定的Java基础)。本文的问题列表来自于http://www.nowcoder.com...
Java面试题收集 - 掘金
不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题。 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Client/Server),客户端/服务端,桌面应用程序 2...
要换工作? 来看看面试题吧 - Android - 掘金
前几天,有朋友去面试之前问我关于后端架构相关的问题,但奈于我去年更多的工作是在移动SDK开发上,对此有所遗忘,实属无奈,后面准备总结下. 今天要谈的主题是关于求职.求职是在每个技术人员的生涯中都要经历多次...
最近 5 年 133 个 Java 面试问题列表 - 后端 - 掘金
来源:https://github.com/YHGui/easy-job/blob/master/面试题/133个Java常见面试题.mdJava 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别(Str...
深入分析 Java Web 中的中文编码问题 - 后端 - 掘金
深入分析 Java Web 中的中文编码问题 背景: 编码问题一直困扰着程序开发人...
阿里电面试题汇总 - 后端 - 掘金
年前意外的经历了一次阿里的电话面试,话说还没想换工作,但这位业余HR(应该是技术负责人)都没介绍工作岗位和要求,直接就约定某晚的电面时间,抱着好奇的态度被“虐”了一把。 总体感觉这位面试官问的问题非常深,基本都是系统或者原理级别的。不知道是不是代表了阿...
最全 Java NIO 系列教程 - 后端 - 掘金
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。 Java NIO提供了与标准IO不同的IO工作方式: ...
【BetterJava】Java 编程须知:语音规范、库、特性、框架、工具和资源 - 后端 - 掘金
Style Java 传统的代码风格是被用来编写非常复杂的企业级 JavaBean。新的代码风格看起来会更加整洁,更加正确,并且更加简单。 Structs 对我们程序员来说,包装数据是最简单的事情之一。下面是传统的通过定义一个 JavaBean 的实...
干货满满的阿里巴巴 Java 开发手册 - 后端 - 掘金
阿里巴巴 Java 开发手册 阿里巴巴集团技术部首次向业界公开 Java 开发手册,总共五大章节,干货满满,大多数规约还有说明以及正、反代码实例,对于新手而言能从中学到很多知识。还有就是非常适合全公司推广,利于项目维护以及规范开发...
netty 源码分析之拆包器的奥秘 - 后端 - 掘金
这里的拆包,拆的不是肉包,不是菜包,也不是小笼包,而是数据包 为什么要粘包拆包 为什么要粘包 首先你得了解一下TCP/IP协议,在...
Java 并发:深入分析 synchronized 的实现原理 - 后端 - 掘金
原文出处: cmsblogs 记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,...
SpringBoot+Shiro 学习之数据库动态权限管理和 Redis 缓存 - 后端 - 掘金
发现问题,需找解决思路。 之前我们整合Shiro,完成了登录认证和权限管理的实现,登录认证没什么说的,需要实现AuthorizingRealm中的doGetAuthenticationInfo方法进行认证,但是我们在实现doGetAuthorizati...
使用 Spring 配置动态数据源实现读写分离 - 后端 - 掘金
最近搭建的一个项目需要实现数据源的读写分离,在这里将代码进行分享,以供参考。关键词:DataSource 、AbstractRoutingDataSource、AOP 首先是配置数据源 <...
MyBatis 在 Spring 环境下的事务管理 - 后端 - 掘金
MyBatis & Spring MyBatis的设计思想很简单,可以看做是对JDBC的一次封装,并提供强大的动态SQL映射功能。但是由于它本身也有一些缓存、事务管理等功能,所以实际使用中还是会碰到一些...
教你配置使用阿里云 Maven 库,体验秒下 jar 包的快感 - 后端 - 掘金
教你配置使用阿里云 Maven 库,体验秒下 jar 包的快感 2017-02-19 #maven #java 鉴于国内的网络环境,从默认 Maven 库下载 jar 包是非常的痛苦。 速度慢就不说了,还经常是...
通过项目逐步深入了解Mybatis(一) - 掘金
相关阅读: 1、通过项目逐步深入了解Mybatis<一> 2、通过项目逐步深入了解Mybatis<二> 3、通过项目逐步深入了解Mybatis<三> 4、通过项目逐步深入了解Mybatis<四> 本项目所有代码及...
Java:Annotation(注解)-- 原理到案例 - 后端 - 掘金
图片取自文末推荐文章 本文章涉及代码已放到github上annotation-study 1.Annotation为何而来 What:Annotation干嘛的 ...
阿里巴巴 Java 开发手册 笔记及重点 - 后端 - 掘金
编程规约 POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。假设定义一个 boolean 的 isSuccess 属性,它的方法 Getter 被IDE生成为 isSuccess(),RP...
Java 方向如何准备 BAT 技术面试答案 (汇总版) - 后端 - 掘金
这个主题的内容之前分三个篇幅分享过,导致网络上传播的比较分散,所以本篇做了一个汇总,同时对部分内容及答案做了修改,欢迎朋友们吐槽、转发。因为篇幅长度和时间的原因,部分答案我没有亲自总结。 1.面向对象和面向过程的区别 ...
计算机程序的思维逻辑 (83) - 并发总结 - 掘金
从65节到82节,我们用了18篇文章讨论并发,本节进行简要总结。 多线程开发有两个核心问题,一个是竞争,另一个是协作。竞争会出现线程安全问题,所以,本节首先总结线程安全的机制,然后是协作的机制。管理竞争和协作是复杂的,所以Java提供了更高层次的服务,比如并发...
译-Java内存管理白皮书 - 掘金
说明 有关java并发可以看这里:https://yuedu.baidu.com/ebook/d09e3e28854769eae009581b6bd97f192279bf23 要学习Java或者任意一门技术,我觉得最好的是从官网的资料...
思维导图学 Java 虚拟机 - 后端 - 掘金
说明 本篇文章是对周志明的《深入理解Java虚拟机》的读书笔记,思维导图使用Mindjet MindManager。曾经看到过这样一句话: 关于教育,有一个经典的定义是:把在学校里学到的东西全部忘掉,最终留下的东西。 ...
Java 内部类 - 后端 - 掘金
内部类包括 成员内部类、方法内部类、静态内部类、匿名内部类。 内部类的作用 由于内部类的实现和外部类没有关系,内部类可*继承其他类,所以在...
40 个 Java 多线程问题总结 - 后端 - 掘金
前言 这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的...
35 个 Java 代码性能优化总结 - 后端 - 掘金
前言 代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,...
三张图彻底了解 Java 中字符串的不变性 - 阅读 - 掘金
定义一个字符串String s = "abcd";s中保存了string对象的引用。下面的箭头可以理解为“存储他的引用”。使用变量来赋值变量String s2 = s;s2保存了相同的引用值,因为他们代表同一个对象。字符串连接s = s.concat("ef"...
Java、Android 内存泄漏总结 - Android - 掘金
内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收。最近自己阅读了大量相关的文档资料,打算做个 总结 沉淀下来...
Java 并发——volatile - 后端 - 掘金
JVM内存管理 概述 volatile 是轻量级的 synchronized。volatile 作用于共享变量,具备了“锁”的特性,这是为了确保共享变量能被准确和一致性地更新,这是 volatile 的可见性。同时,它也阉割了 scn...
Java 多线程 相关概念 - 掘金
前言 本篇文章介绍一些多线程的相关的深入概念。理解后对于线程的安全性会有更深的理解。 先说一个格言,摘自Java核心技术:如果向一个变量写入值,而这个变量接下来可能会被另一个线程读取;或者一个变量读值,而这个变量可能是之前被另一个线程写入的,此时必须同步。 下...
计算机程序的思维逻辑 (77) - 异步任务执行服务 - 掘金
Java并发包提供了一套框架,大大简化了执行异步任务所需的开发,本节我们就来初步探讨这套框架。 在之前的介绍中,线程Thread既表示要执行的任务,又表示执行的机制,而这套框架引入了一个"执行服务"的概念,它将"任务的提交&quo...
Java 内存分配与回收机制 - Android - 掘金
这篇文章主要讲Java内存的分配与回收机制,主要包括Java运行时的数据区域、对象的创建、垃圾收集算法与回收策略。参考的书籍是周志明老师的《深入理解Java虚拟机》,笔者只是基于书中的内容对其总结概括并图文化。这部分内容几乎都是理解性的,为了便于理解和记忆所以...
Java 的 equals 与 hashcode 对比分析 - Android - 掘金
在阅读《Effective Java》第3章里读到了关于 equals() 和 hashcode() 的一些介绍,这两个方法是很多Java程序员容易弄混的,因此本文针对这两个方法的用法和具体实现来做一些介绍。 ...
深入理解 Java 虚拟机总结 - Android - 掘金
Java 虚拟机总结...
[Java 中字符串内存位置浅析
- 后端 - 掘金](https://juejin.im/entry/58ca7aab61ff4b006c846197)
Loading [Contrib]/a11y/accessibility-menu.js 前言 之前写过一篇关于JVM内存区域划分的文章,但是昨天接到蚂蚁金服的面试,问到JVM相关的内容,解...
Java 集合框架分析 - HashMap - Android - 掘金
本篇文章主要分析一下Java集合框架中的Map部分,HashMap,该源码分析基于JDK1.8,分析工具,AndroidStudio,文章分析不足之处,还请见谅! 一、HashMap简介 基于哈希...
开发笔记之详述 JAVA 构造函数和代码块本身及其执行细节 - 后端 - 掘金
今天在JAVA的研究学习当中发现了构造函数这个神奇但是麻烦的东西, 他在给我感觉很像OC语言中的initWith..., 但是在细节上有很多的不同, 而代码块这个东西更是让我这个敲iOS的眼前一亮, 后来针对代码块这个东西的功能和执行的顺序深究了一番. ...
你了解泛型通配符与上下界吗? - Android - 掘金
在进入主题之前, 我们先简单说一下 Java 的泛型(generics)。它是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合...
Java 数据结构之 LinkedList、ArrayList 的效率分析 - Android - 掘金
前言: 在我们平常开发中难免会用到List集合来存储数据,一般都会选择ArrayList和LinkedList,以前只是大致知道ArrayList查询效率高LinkedList插入删除效率高,今天来实测一下。 先了解一下...
JVM 内存回收对象及引用分析 - 后端 - 掘金
自动垃圾回收是Java相较于C++的一个重要的特点,想了解JVM的垃圾回收机制,首先我们要知道垃圾回收是回收什么地方的垃圾,我在我的上一篇博客《JVM内存区域划分》里面有写到JVM里面的内存是怎么分布的,这里的回收主要是指对上文中提到的Java堆和方法区的内存...
JVM 内存区域划分 - 后端 - 掘金
学习Java不可避免的要学习Java虚拟机,也就是JVM,Java虚拟机规范里面规定了程序运行期间会使用到的运行时数据区,这也是JVM的内存区域划分的模型,应该可以这么理解吧。 这其中有一些是随着虚拟机的启动和退出而创建和销毁的,这些区域是线程...
Java 集合框架 源码浅析 与理解 - Android - 掘金
最近在研究java源码,就是看一看别人写好的东西,也不算是研究。知根知底的对以后的学习会有很大的帮助,我先去了解一下java集合框架,从总体上对这个组织和操作数据的数据结构有个浅显得的了解。 从网上看了很...
jvm 知识点总览 - 高级 Java 工程师面试必备 - 后端 - 掘金
在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。一个内功低的人招式在奇妙也打不过一个内功高...
static 关键字相关知识点 - 后端 - 掘金
1、为什么要用static关键字? 通常来说,用new创建类的对象时,数据存储空间才被分配,方法才供外界调用。但有时我们只想为特定域分配单一存储空间,不考虑要创建多少对象或者说根本就不创建任何对象,再就是...
Java 泛型详解 - 后端 - 掘金
泛型是 Java 中一个非常重要的知识点,在 Java 集合类框架中泛型被广泛应用。本文我们将从零开始来看一下 Java 泛型的设计,将会涉及到通配符处理,以及让人苦恼的类型擦除。...
Java多线程干货系列—(四)volatile关键字| 掘金技术征文 - 掘金
原本地址:Java多线程干货系列—(四)volatile关键字博客地址:http://tengj.top/ 前言 今天介绍下volatile关键字,volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因...
Java 线程池的理论与实践 - 掘金
Doug Lea前段时间公司里有个项目需要进行重构,目标是提高吞吐量和可用性,在这个过程中对原有的线程模型和处理逻辑进行了修改,需要 发现有很多基础的多线程的知识已经模糊不清,如底层线程的运行情况、现有的线程池的策略和逻辑、池中线程的健康状况的监控等,这次重新...
从JDK源码角度看并发锁的优化 - 掘金
在CLH锁核心思想的影响下,JDK并发包以CLH锁作为基础而设计,其中主要是考虑到CLH锁更容易实现取消与超时功能。比起原来的CLH锁已经做了很大的改造,主要从两方面进行了改造:节点的结构与节点等待机制。 在结构上引入了头结点和尾节点,他们分别指向队列的头和尾...
Java 基础与提高干货系列—Java 反射机制 | 掘金技术征文 - 掘金
原本地址:Java基础与提高干货系列——Java反射机制博客地址:http://tengj.top/ 前言 今天介绍下Java的反射机制,以前我们获取一个类的实例都是使用new一个实例出来。那样太low了,今天跟我一起来学习学习一种更加高大上的方式来实现。 ...
Java 多线程干货系列—(一)Java 多线程基础 | 掘金技术征文 - 掘金
原本地址:Java多线程干货系列—(一)Java多线程基础博客地址:http://tengj.top/ 前言 多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程并发编程对我们来说极其重要,下面跟我一起开启本次的学习之旅吧。 正...
计算机程序的思维逻辑 (84) - 反射 - 掘金
上节介绍完了并发,从本节开始,我们来探讨Java中的一些动态特性,包括反射、类加载器、注解和动态代理等。利用这些特性,可以以优雅的方式实现一些灵活和通用的功能,经常用于各种框架、库和系统程序中,比如: 在63节介绍的实用序列化库Jackson,利用反射和注解...
Tip-关于JVM和Hotspot,你也许有这么几个容易晕的问题 - 掘金
1.JVM的结构到底有哪些? 快速过一遍JVM的内存结构,JVM中的内存分为5个虚拟的区域: 堆 ▪ 你的Java程序中所分配的每一个对象都需要存储在内存里。堆是这些实例化的对象所存储的地方。...
计算机程序的思维逻辑 (82) - 理解 ThreadLocal - 掘金
本节,我们来探讨一个特殊的概念,线程本地变量,在Java中的实现是类ThreadLocal,它是什么?有什么用?实现原理是什么?让我们接下来逐步探讨。 基本概念和用法 线程本地变量是说,每个线程都有同一个变量的独有拷贝,这个概念听上去比较难以理解,我们先直接来...
计算机程序的思维逻辑 (83) - 并发总结 - 掘金
从65节到82节,我们用了18篇文章讨论并发,本节进行简要总结。 多线程开发有两个核心问题,一个是竞争,另一个是协作。竞争会出现线程安全问题,所以,本节首先总结线程安全的机制,然后是协作的机制。管理竞争和协作是复杂的,所以Java提供了更高层次的服务,比如并发...
译-Java内存管理白皮书 - 掘金
说明 有关java并发可以看这里:https://yuedu.baidu.com/ebook/d09e3e28854769eae009581b6bd97f192279bf23 要学习Java或者任意一门技术,我觉得最好的是从官网的资料...
从JDK源码角度看并发竞争的超时 - 掘金
JDK中的并发框架提供的另外一个优秀机制是锁获取超时的支持,当大量线程对某一锁竞争时可能导致某些线程在很长一段时间都获取不了锁,在某些场景下可能希望如果线程在一段时间内不能成功获取锁就取消对该锁的等待以提高性能,这时就需要用到超时机制。在JDK1.5之前并没有...
计算机程序的思维逻辑 (81) - 并发同步协作工具 - 掘金
我们在67节和68节实现了线程的一些基本协作机制,那是利用基本的wait/notify实现的,我们提到,Java并发包中有一些专门的同步工具类,本节,我们就来探讨它们。 我们要探讨的工具类包括: 读写锁ReentrantReadWriteLock 信号量Se...
计算机程序的思维逻辑 (79) - 方便的 CompletionService - 掘金
上节,我们提到,在异步任务程序中,一种常见的场景是,主线程提交多个异步任务,然后希望有任务完成就处理结果,并且按任务完成顺序逐个处理,对于这种场景,Java并发包提供了一个方便的方法,使用CompletionService,这是一个接口,它的实现类是Execu...
计算机程序的思维逻辑 (64) - 常见文件类型处理: 属性文件 / CSV/EXCEL/HTML / 压缩文件 - 掘金
对于处理文件,我们介绍了流的方式,57节介绍了字节流,58节介绍了字符流,同时,也介绍了比较底层的操作文件的方式,60节介绍了随机读写文件,61节介绍了内存映射文件,我们也介绍了对象的序列化/反序列化机制,62节介绍了Java标准的序列化,63节介绍了如何用J...
计算机程序的思维逻辑 (49) - 剖析 LinkedHashMap - 掘金
之前我们介绍了Map接口的两个实现类HashMap和TreeMap,本节来介绍另一个实现类LinkedHashMap。它是HashMap的子类,但可以保持元素按插入或访问有序,这与TreeMap按键排序不同。 按插入有序容易理解,按访问有序是什么意思呢?这两个...
如何阅读JAVA 字节码(一) - 掘金
在阅读JAVA字节码以前,需要回忆一下JVM的结构: Java字节码的信息主要在Java栈中间体现,下图来自网络,描述了java栈的基本结构: 值得注意的是方法区,在Java虚拟机...
详细深入分析 Java ClassLoader 工作机制 - 掘金
申明:本文首发于 详细深入分析 ClassLoader 工作机制 ,如有转载,请务必注明原出处即可,谢谢配合。 详细深入分析 Java ClassLoader 工作机制 什么是 ClassLoader ? 大家都知道,当我们写好一个 Java 程序之后,不...
Java IO流学习超详细总结(图文并茂) - 掘金
Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 I...
JVM(一)——Java 运行时的数据区域 - 掘金
JVM(一)——Java 运行时的数据区域 程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 通俗地讲,线程执行的任务在计算机语言中,被当做是一条条的指令。...
JVM(五)——类的加载机制 - 掘金
JVM(五)——类的加载机制 概述 如篇首图所示,Class 文件被 JVM 加载至 JVM内存,在内存中验证、解析、初始化之后,形成可以被 JVM 直接使用的 Java类型。这就是类加载的简要过程。类的加载过程是在 Java程序运行期间完成,虽然会损耗一...
JVM(六)——GC 算法 - 掘金
标记-清除法JVM(六)——GC 算法 概述 GC 是 JVM 自带的功能,它能够自动回收对象,清理内存,这是 Java 语言的一大优势,但是GC绝不仅伴随着Java,相反,GC历史比Java更悠久。关于GC,我认为有四个问题需要解决: 为什么了解 GC...
Java 多线程 相关概念 - 掘金
前言 本篇文章介绍一些多线程的相关的深入概念。理解后对于线程的安全性会有更深的理解。 先说一个格言,摘自Java核心技术:如果向一个变量写入值,而这个变量接下来可能会被另一个线程读取;或者一个变量读值,而这个变量可能是之前被另一个线程写入的,此时必须同步。 下...
Android 面试知识库 - Android - 掘金
LearningNotes 第一部分: Android(安卓) Android基础知识 Android内存泄漏总结 Handler内存泄漏分析及解决 Handler、Looper、Message、MessageQueue基础流程分析 Androi...
java 数据结构与算法之树基本概念及二叉树(BinaryTree)的设计与实现 - zejian 的博客 - 博客频道 - ****.NET - Android - 掘金
【版权申明】未经博主同意,不允许转载!(请尊重原创,博主保留追究权) http://blog.****.net/javazejian/article/details/53727333 出自【zejian的博客】 关联文章: java数据结构...
2016 年末,腾讯,百度,华为,搜狗和滴滴面试题汇总 - Android - 掘金
前言:前一段时间和大家交流,据反馈现在Android岗位也没有以前那么多了,当然这不意味着饱和,只是市场更趋于合理一些,就像深圳房价一样,以前破天慌的涨,新政出来后,房价慢慢趋向合理一样。Android还有有很多机会的。最近结合一些面试的同学(包含社招和校招)...
最近 5 年 133 个 Java 面试问题列表 - 后端 - 掘金
Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入。 在我初入职场的时候,类似于 Vector 与 Array 的区别...
查找算法之顺序、二分、二叉搜索树、红黑树 详细比较总结 - Android - 掘金
前言一般用符号表来储存键值对,就好像字典那样,通过索引来查找值,若键重复则覆盖值。我们能希望找到一种高效的查找算法使在平均情况和最差情况下,时间复杂度都能达到O(logn)。下面会逐步介绍四种算法,最终达到我们的目的。 顺序查找用链表实现,无法索引数据,必须遍...
Java 工程师成神之路 - 后端 - 掘金
针对本文,博主最近在写《成神之路系列文章》 ,分章分节介绍所有知识点。欢迎关注。一、基础篇1.1 JVM1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收http://www.jcp.org/en/jsr/detail?id=133ht...
Java 中的多线程你只要看这一篇就够了 - Android - 掘金
引 如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角...
找女朋友之简单工厂模式,工厂模式,抽象工厂模式 - Android - 掘金
本文GitHub地址 一, 简单工厂模式: 突然有一天,在梦里拥有了阿拉丁神灯. 灯神说: "我可以给你创造一个女朋友哦" 这时候我的心里...嘿嘿嘿... "但是只能满足你一个地理条件,目前只有三个选项: 四川, 河北, 山东. 你挑一个? " 灯神又...
Android 优化 (一) Java 代码优化 - Android - 掘金
性能优化总纲: 大概会花一个月左右的时间出7-8个专题来分享一下在工作和学习中积累下来的android性能优化经验。 希望大家会持续关注。 现在是专题一:java代码优化 但这也仅仅是为大家提供一些思路与较为全面的总结,...
JAVA 之旅(三十五)——完结篇,终于把 JAVA 写完了,真感概呐! - 刘桂林的博客 - 博客频道 - ****.NET - Android - 掘金
这篇博文只是用来水经验的,写这个系列是因为我自己的java本身也不是特别好,所以重温了一下,但是手比较痒于是就写出了这三十多篇博客了,而且收到的好评也不错,于是就一直坚持了下来,非常感谢各位小伙伴哦! JAVA之旅(一)——基本常识,JAVA概念...
一道在知乎很火的 Java 题——如何输出 ab - Android - 掘金
这是一个源自知乎的话题,原贴链接:一道百度的面试题,有大神会嘛? 虽然我不是大神,但我也点进去看了一下,思考了一会之后有了一些思路,然后去看其它人的答案的时候果然全都已经被各路大神们先想到并贴出来了,所以我就不去凑热闹写重复答案了,整理一下网友们的智慧在这里...
面试总结 - Java 基础 (一) - Android - 掘金
我的博客我的博客:面试总结-Java基础(一) 之前学习Java基础的时候做的一些笔记,稍微整理了一下,也方便以后看。不过这里都是一些较为基础的Java知识,后期有时间,会针对里面的泛型,多线程,算法,nio 等模块进行更深入的解析。 如果有写错的地方...
Java 常见笔面试题 - Android - 掘金
2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的****博...
Socket,你需要知道的事儿 - 掘金
what is socket socket作为一种抽象层,应用程序通过它来发送和接收数据,使用socket可以将应用程序与处于同一网络中的其他应用程序进行通信交互。简而言之,socket提供了应用程序内部与外界通信的端口以及为通信双方提供了数据传输的通道。 对...
剑指 offer—java 实现版本 - Android - 掘金
剑指offer java版实现 Word版和Pdf版: https://github.com/xurui1995/Sword-pointing-to-offer/tree/master/Word%EF%BC%8CPdf 所有代码经过本人实现并通过,实...
Java 面试知识点总结 - Android - 掘金
本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺(阅读本文需要有一定的Java基础)。本文的问题列表来自于http://www.nowcoder.com...
集成 React Native 到现有的 Android 项目( Mac, Windows 通用版 ) - 掘金
原文链接:http://motalks.cn/2016/10/26/React_Native_Integration_With_Existing_Apps/转载请注明来源。 由于公司的 Win 7 系统的台式机性能比较好,所以我又在 Windows 系统上又...
一个小时打造新闻 APP - Android - 掘金
前言 作为一个新手,学完基础总想做点什么东西出来。于是我试着去模仿那些优秀的开源作品。模仿作品:LookLook开源项目经过一些波折和学习,写下模仿过程。 实际上我花了大概三天才弄懂所有的东西,不过有了经验确实可以在一个小时里完成。 使用框架: rxjava...
JVM 理解其实并不难! - Android - 掘金
我的简书同步发布:JVM理解其实并不难! 在阅读本文之前,先向大家强烈推荐一下周志明的《深入理解Java虚拟机》这本书。 前些天面试了阿里的实习生,问到关于Dalvik虚拟机能不能执行class文件,我当时的回答是不能,但是它执行的是class转换的de...
一个单例模式就能考这么多问题,你知道么? - Android - 掘金
@(设计模式) 类图 简介 单例模式,可以说是设计模式中最简单的模式之一了,因为它不是用来解耦合用的,而是为了让整个系统有且只有一个这样的对象。为什么要只有一个呢??如果有些对象对象非常大,我需要保证内存中只存在一个;如果我希望做一些控制,只能由...
最近 5 年 133 个 Java 面试问题列表 - 后端 - 掘金
来源:https://github.com/YHGui/easy-job/blob/master/面试题/133个Java常见面试题.mdJava 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别(Str...
工具类之RegexUtils(正则工具类) - Android - 掘金
正则表达式,相信接触过编程的人都知道,但是大部分人应该是每次用的时候现找,但对其语法应该只是一知半解,如果乘客们想要更好地了解正则,那么老司机也可以再另起一篇介绍正则中比较重要的几个知识点。好啦,本次是直接带给你们福利的,常用正则相关的应该都囊括在本工具类了,...
Java 中创建对象的 5 种方式 - 后端 - 掘金
作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象。然而这里有很多创建对象的方法,我们会在这篇文章中学到。 Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码 如果你运行了末尾的的程序,你会发...
Java 核心技术点之泛型 - Android - 掘金
Why ——引入泛型机制的原因 假如我们想要实现一个String数组,并且要求它可以动态改变大小,这时我们都会想到用ArrayList来聚合String对象。然而,过了一阵,我们想要实现一个大小可以改变的Date对象数组,这时我们当然希望能够重用之前写过的那个...
java 性能优化:35 个小细节,让你提升 java 代码的运行效率 - 后端 - 掘金
文章来源:http://blog.****.net/richard_jason/article/details/53004974作者:Richard_Jason代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行...
最近 5 年 133 个 Java 面试问题列表 - 后端 - 掘金
来源:https://github.com/YHGui/easy-job/blob/master/面试题/133个Java常见面试题.mdJava 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别(Str...
泛型详解 高级进阶 - Android - 掘金
前言:被温水煮惯了,梦想的东西总是不敢于尝试,失败了又怎样,最多从头来过。相关文章:1、《夯实JAVA基本之一 —— 泛型详解(1):基本使用》2、《夯实JAVA基本之一——泛型详解(2):高级进阶》3、《夯实JAVA基本之二 —— 反射(1):基本类周边信息...
java 多线程核心技术梳理 (附源码) - 后端 - 掘金
本文对多线程基础知识进行梳理,主要包括多线程的基本使用,对象及变量的并发访问,线程间通信,lock的使用,定时器,单例模式,以及线程状态与线程组。 写在前面 花了一周时间阅读《java多线程编程核心技术》(高洪岩 著),本文算是此书的整理归纳,书中几乎所有示例...
JavaEE 要懂的小事:图解 Http 协议 - 后端 - 掘金
问:什么是 HTTP? 答:HTTP 是一个客户端和服务器端请求和响应的标准 TCP。其实建立在 TCP 之上的。...
java 并发编程 --Runnable Callable 及 Future - 后端 - 掘金
1.Runnable Runnable是个接口,使用很简单: 1. 实现该接口并重写run方法 2. 利用该类的对象创建线程 3. 线程启动时就会自动调用该对象的run方法 通常在开发中结合ExecutorService使用,将任务的提交与任务的执行解耦开,同...
从头到尾带你玩转注解 - Android - 掘金
前面写了Android 开发:由模块化到组件化(一),很多小伙伴来问怎么没有Demo啊?之所以没有立刻放demo的原因在还有许多技术点没说完. 今天我们就来细细评味Java当中Annotation,也就是...
一个事半功倍的 Java 反射库 - Android - 掘金
在Java和Android中,我们常常会使用反射来达到一些兼容的目的。Java原生提供的反射很是麻烦,使用起来很是不方便。比如我们想要调UserManager的静态方法get,使用原生的实现如下 try { final Method m = ...
Spring Boot 揭秘与实战(六) 消息队列篇 - RabbitMQ - 掘金
本文,讲解 Spring Boot 如何集成 RabbitMQ,实现消息队列。 博客地址:http://blog.720ui.com/ 什么是 RabitMQ RabbitMQ 是一个在 AMQP 基础上完整的,可复用的企业消息系统。 关于 RabbitMQ...
Java 并发编程:线程池的使用 - 后端 - 掘金
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有...
Java - 注解详解 - Android - 掘金
注解-Java使用篇 背景 在之前的Rxjava+ReTrofit+okHttp深...
死磕 Java 并发 - 深入分析 synchronized 的实现原理 - 后端 - 掘金
记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道sy...
我的 Java 后端书架 - 后端 - 掘金
我的Java后端书架 1月前 5079 本书架主要针对Java后端开发与架构。 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不...
面试的角度诠释 Java 工程师(二) - 后端 - 掘金
续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会说它们是一样的?简单思考一下...... ...
面试的角度诠释 Java 工程师(一) - 后端 - 掘金
前言: 我相信每一个程序员都是为了生活而努力着的。很多人因为兴趣,从此踏上了这条‘烧脑大行动’的金桥;也有很多人因为梦想和执着,奋不顾身融入这个职业;还有很多人因为被现实逼得太无奈,不得不为自己、为家人、为未来谋这么一条坎坷的路...
Java 线程面试题 Top 50 - Android - 掘金
本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入 翻译小组。转载请见文末要求。 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企...
jvm 知识点总览 - 高级 Java 工程师面试必备 - 后端 - 掘金
在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。一个内功低的人招式在奇妙也打不过一个内功高...
Java Jvm 垃圾回收与类加载相关面试知识总结 - 后端 - 掘金
(1)内存模型以及分区,需要详细到每个区放什么。 堆:Java虚拟机管理内存中最大的一块,线程共享区域。所有对象实例和数组都在堆上分配内存空间。 栈...
重拾后端之Spring Boot(四):使用JWT和Spring Security保护REST API - 掘金
重拾后端之Spring Boot(一):REST API的搭建可以这样简单重拾后端之Spring Boot(二):MongoDb的无缝集成重拾后端之Spring Boot(三):找回熟悉的Controller,Service重拾后端之Spring Boot(四...
几种任务调度的 Java 实现方法与比较 - 后端 - 掘金
前言 任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。本文由浅入深介绍四种任务调度的 Java 实现: Timer ScheduledExecutor 开源工具包 Quartz 开源工具包 JCronTa...
一看你就懂,超详细 java 中的 ClassLoader 详解 - Android - 掘金
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoa...
后端开发面试题 - 汇聚 - 后端 - 掘金
说明 这篇文章翻译自一位外国友人的关于面试后端程序员的文章,我比较喜爱这篇文章。一是因为它极大的拓宽了我的视角,另一方面是其中的一些问题非常具有启发性。不仅对于面试者,对于面试官来说也是个不错的参考。于是迫不及待的翻译了一下,给各位看官做个参考。 ...
Spring boot 那些事之 RESRful API 权限控制 - 后端 - 掘金
Spring Boot,支持约定优于配置,让开发人员尽快启动并运行项目。针对 Spring Boot 的学习和总结准备写系列文章。代码共享在【springboot-learning-example】,spring boot 实践学习案例,是 spring bo...
各大公司 Java 后端开发面试题总结 - 后端 - 掘金
ThreadLocal(线程变量副本) Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。 采用空间换时间,它...
Java 方向如何准备 BAT 技术面试答案 (汇总版) - 后端 - 掘金
这个主题的内容之前分三个篇幅分享过,导致网络上传播的比较分散,所以本篇做了一个汇总,同时对部分内容及答案做了修改,欢迎朋友们吐槽、转发。因为篇幅长度和时间的原因,部分答案我没有亲自总结。 1.面向对象和面向过程的区别 ...
Java面试重难点剖析(不断更新) - 掘金
1、高并发访问数据库优化方法 2、 java finalize方法总结、GC执行finalize的过程 3、简单理解Socket及TCP/IP、Http、Socket的区别 4、 java之yield(),sleep(),wait()区别详解-备忘笔记 5、线...
JavaEE 要懂的小事:图解 Http 协议 - 后端 - 掘金
问:什么是 HTTP? 答:HTTP 是一个客户端和服务器端请求和响应的标准 TCP。其实建立在 TCP 之上的。...
Mysql常用SQL语句集锦 | 掘金技术征文 - 掘金
基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day from table_name";//int 时间戳类型 $sql = "select from_unixt...
MySQL 的初次见面礼基础实战篇 - zejian 的博客 - 博客频道 - ****.NET - 后端 - 掘金
【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) http://blog.****.net/javazejian/article/details/61614366 出自【zejian的博客】 ...
一个小时学会 MySQL 数据库 - 工具资源 - 掘金
随着移动互联网的结束与人工智能的到来大数据变成越来越重要,下一个成功者应该是拥有海量数据的,数据与数据库你应该知道。 一、数据库概要 数据库(Database)是存储与管理数据的软件系统,就像一个存入数据的物流仓库。 在商业领域,信息就意味着商机,取得信息的...
【BetterJava】Java 编程须知:语音规范、库、特性、框架、工具和资源 - 后端 - 掘金
Style Java 传统的代码风格是被用来编写非常复杂的企业级 JavaBean。新的代码风格看起来会更加整洁,更加正确,并且更加简单。 Structs 对我们程序员来说,包装数据是最简单的事情之一。下面是传统的通过定义一个 JavaBean 的实...
可以免费自学编程的 12 个网站 - 工具资源 - 掘金
很多人包括一些企业家,和市场营销人员都认为学习编程对一个人走向成功十分有帮助。在过去的一年里,我一直在学习编程。它有助我成为一个更好的创业者,我甚至可以提供一些帮助,当我的团队需要解决一些bug的时候。现在,如果你想学编程的话,这12个网站可以帮助你,它们都提...
JAXenter:最全的Java资讯站点 - 工具资源 - 掘金
JAXenter向读者提供Java的新闻、Java的技术文章、顶尖工程师关于软件开发与设计的视频,为读者提供广泛的讨论话题。JAXenter致力于提供最全、最新的Java资讯。 查看图片 主要板块 News Articles Videos Jax Magaz...
常用 Git 命令清单 - 工具资源 - 掘金
我每天使用 Git ,但是很多命令记不住。 ...
20 个非常有用的 Java 程序片段 - 后端 - 掘金
下面是20个非常有用的Java程序片段,希望能对你有用。 1. 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric string int i = Integer.par...
- 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to ...
Java 基础思维导图,让 Java 不再难懂 - 工具资源 - 掘金
思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具。了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板。 思维导图不仅仅只有简单明了这个好处,它还能加深人对主题的印象和...
Java 多线程 相关概念 - 掘金
前言 本篇文章介绍一些多线程的相关的深入概念。理解后对于线程的安全性会有更深的理解。 先说一个格言,摘自Java核心技术:如果向一个变量写入值,而这个变量接下来可能会被另一个线程读取;或者一个变量读值,而这个变量可能是之前被另一个线程写入的,此时必须同步。 下...
教你在 APP 中嵌入翻译功能,不借助第三方软件 - Android - 掘金
对于翻译软件大家都应该使用过,有没有想到将翻译功能直接嵌入到自己的APP中,比如聊天界面,翻译几句话的功能。正好项目由此需求,看了看有道对外提供的接口,原来很简单。 一、效果图 ...
Java 中 Emoji 的正则表达式 - 掘金
一、emoji 的范围 查阅*中 emoji 的说明 1. 杂项符号及图形 杂项符号及图形一共有768个字符,范围为: U+1F300 ~ U+1F5FF,在 Java 中正则表达式为: "[\uD83C\uDF00-\uD83D\uDDFF]"...
深入理解 Java 类加载机制 - 后端 - 掘金
前言 在上一次文章「一文让你明白Java字节码」中,我们了解了java字节码的解析过程...
详解 Java 中的注解 - 后端 - 掘金
在 Java 中,注解 (Annotation) 引入始于 Java5,用来描述 Java 代码的元信息,通常情况下注解不会直接影响代码的执行,尽管有些注解可以用来做到影响代码执行。...
我的 Java 后端书架 - 后端 - 掘金
我的Java后端书架 1月前 5079 本书架主要针对Java后端开发与架构。 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不...
【译】2017 年你不能错过的 Java 类库 - 后端 - 掘金
各位读者好, 这篇文章是在我看过 Andres Almiray 的一篇介绍文后,整理出来的。 因为内容非常好,我便将它整理成参考列表分享给大家, 同时附上各个库的特性简介和示例。 请欣赏! Gui...
Java 语法清单 - 后端 - 掘金
Java 语法清单翻译自 egek92 的 JavaCheatSheet,从属于笔者的 Java 入门与实践系列。时间仓促,笔者只是简单翻译了些标题与内容整理,支持原作者请前往原文点赞。需要注意的是,此文在 Reddit 上也引起了广泛的讨论,此文讲解的语法要...
各大公司 Java 后端开发面试题总结 - 后端 - 掘金
ThreadLocal(线程变量副本) Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。 采用空间换时间,它...
你真的了解 volatile 关键字吗? - Android - 掘金
volatile关键字经常在并发编程中使用,其特性是保证可见性以及有序性,但是关于volatile的使用仍然要小心,这需要明白volatile关键字的特性及实现的原理,这也是本篇文章的主要内容。 ...
Java 的 equals 与 hashcode 对比分析 - Android - 掘金
在阅读《Effective Java》第3章里读到了关于 equals() 和 hashcode() 的一些介绍,这两个方法是很多Java程序员容易弄混的,因此本文针对这两个方法的用法和具体实现来做一些介绍。 ...
Java 泛型进阶 - Android - 掘金
擦除 在泛型代码内部,无法获得任何有关泛型参数类型的信息。 例子1: //这个例子表明编译过程中并没有根据参数生成新的类型 public class Main2 { public static void main(String[] args) { ...
Java 中的多线程你只要看这一篇就够了 - Android - 掘金
引 如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角...
一文让你明白 Java 字节码 - 后端 - 掘金
Intro 在这,我们相互学习,共同成长,分享使我们并不孤单. BRVAH@www.recyclerview.org ...
数据结构与算法 /leetcode/lintcode 题解 - 工具资源 - 掘金
数据结构与算法/leetcode/lintcode题解 English via Data Structure and Algorithm notes 简体中文请戳 数据结构与算法/leetcode/lintcode题解 繁體中文請瀏覽 資料結構與演算法...
Blade - 一款简洁优雅的 Java Web 框架 - 后端 - 掘金
新一代JavaWeb框架,不依赖更多的库,摆脱SSH的臃肿,模块化设计,使用起来更轻便! 代码简洁、结构清晰,不足100KB源代码,写更少的代码快速开发! ...
自己编写Java Web框架:Takes框架的Web App架构 - 前端 - 掘金
我用过Servlets、JSP、JAX-RS、 Spring框架、Play框架、带Facelets的JSF以及Spark Framework。在我看来,这些框架并没有很好地实现面向对象设计。它们充斥着静态方法、未经测试的数据结构以及不够美观的解决方式。因此一个...
Pippo:Java小型开源Web微框架 - 工具资源 - 掘金
Pippo是一个(基于Apache协议)的Java开源Web微框架,依赖关系精简、上手速度很快。这个项目的主要目的是用Java创建一个易于使用和修改的Web微框架。Pippo可用于中小型应用程序,以及其它基于微服务架构的应用程序。我们信奉大道至简,在开发中时刻...
最近 5 年 133 个 Java 面试问题列表 - 后端 - 掘金
Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入。 在我初入职场的时候,类似于 Vector 与 Array 的区别...
重新认识 java(三) —— 面向对象之继承! - Android - 掘金
学习一个新知识的第一步,就是要知道它是什么,然后要知道为什么要用它,最后要知道如何使用它。这篇文章,我们重新认识一下Java中的继承。 ...
Java 线程面试题 Top 50 - Android - 掘金
本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入 翻译小组。转载请见文末要求。 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企...
最全 Java NIO 系列教程 - 后端 - 掘金
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。 Java NIO提供了与标准IO不同的IO工作方式: ...
如何实现一个Java Class解析器 - 掘金
最近在写一个私人项目,名字叫做ClassAnalyzer,ClassAnalyzer的目的是能让我们对Java Class文件的设计与结构能够有一个深入的理解。主体框架与基本功能已经完成,还有一些细节功能日后再增加。实际上JDK已经提供了命令行工具javap来...
我的 Java 后端书架 - 后端 - 掘金
我的Java后端书架 1月前 5079 本书架主要针对Java后端开发与架构。 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不...
阿里巴巴集团 Java 代码规约介绍 - 阅读 - 掘金
众所周知,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全。试想如果没有限速,没有红绿灯,没有规定靠右行驶,谁还敢上路。同理,对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而...
JVM 源码分析之新生代 DefNewGeneration 的实现 - Android - 掘金
简书 占小狼转载请注明原创出处,谢谢! 看得越多,懂的越少,还年轻,多学习! 接着上文《JVM源码分析之堆内存的初始化》,本文对新生代的实现进行分析,在JVM内部...
一行代码给你的控件加上小徽章 - Android - 掘金
一行代码给你的控件加上徽章(Badge) 不废话,先上图 BadgeView 其实在开发众多APP中,...
干货满满的阿里巴巴 Java 开发手册 - 后端 - 掘金
阿里巴巴 Java 开发手册 阿里巴巴集团技术部首次向业界公开 Java 开发手册,总共五大章节,干货满满,大多数规约还有说明以及正、反代码实例,对于新手而言能从中学到很多知识。还有就是非常适合全公司推广,利于项目维护以及规范开发...
图解 JVM 字节码执行引擎 - Android - 掘金
我们都知道,在当前的Java中(1.0)之后,编译器讲源代码转成字节码,那么字节码如何被执行的呢?这就涉及到了JVM的字节码执行引擎,执行引擎负责具体的代码调用及执行过程。就目前而言,所有的执行引擎的基本一致: ...
RecyclerView 优秀文集 - Android - 掘金
收集RecyclerView优秀文章,持续更新欢迎提交pr,推荐star。 入门篇 还在用ListView? RecyclerView使用介绍 深入浅出RecyclerView 原理分析 RecyclerView剖析 RecyclerView源码分析 ...
一个事半功倍的 Java 反射库 - Android - 掘金
在Java和Android中,我们常常会使用反射来达到一些兼容的目的。Java原生提供的反射很是麻烦,使用起来很是不方便。比如我们想要调UserManager的静态方法get,使用原生的实现如下 try { final Method m = ...
从 JDK 源码角度看 java 并发线程的中断 - 后端 - 掘金
线程的定义给我们提供了并发执行多个任务的方式,大多数情况下我们会让每个任务都自行执行结束,这样能保证事务的一致性,但是有时我们希望在任务执行中取消任务,使线程停止。在Java中要让线程安全、快速、可靠地停...
java 之反射技术及其应用 - 后端 - 掘金
翻阅了很多资料想查看一个比较通俗易懂的关于java反射机制的理解,但是想要从概念中去理解一项技术,可能有点困难,所以先将理论型知识贴出来,后面,慢慢来理解。 反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能...
通俗易懂权限管理模块设计 - Java - 后端 - 掘金
最近一直在做CMS系统,发现一些内容其实都是重复出现的,例如权限管理模块。权限管理模块就是为了管理用户是否有权利访问某个权限,如果不能则拒绝访问。其实Java中已经有很成熟的权限管理框架,例如 S...
JAVA 中的网路编程 - Android - 掘金
1.JAVA中的网路编程 这篇文章,是关于JAVA网络编程扯蛋,如果蛋疼了呢?就继续往下看吧! 2.网络模型 关于java的网络编程,其实也没什么的,第一个先扯淡的是这个网络模型:OSI参考模型&TCP/IP参考模型,结构如下图所示: 通常来讲,这...
Java Worker 设计模式 - 后端 - 掘金
Worker模式 想解决的问题 异步执行一些任务,有返回或无返回结果 使用动机 有些时候想执行一些异步任务,如异步网络通信、daemon任务,但又不想去管理这任务的生命周。这个...
Java 工程师成神之路 - 后端 - 掘金
针对本文,博主最近在写《成神之路系列文章》 ,分章分节介绍所有知识点。欢迎关注。一、基础篇1.1 JVM1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收http://www.jcp.org/en/jsr/detail?id=133ht...
Java 泛型进阶 - Android - 掘金
擦除 在泛型代码内部,无法获得任何有关泛型参数类型的信息。 例子1: //这个例子表明编译过程中并没有根据参数生成新的类型 public class Main2 { public static void main(String[] args) { ...
spring-cloud-sleuth+zipkin 追踪服务实现 (一) - 后端 - 掘金
最近在学习spring cloud构建微服务,很多大牛都提供很多入门的例子帮助我们学习,对于我们这种英语不好的码农来说,效率着实提高不少。这两天学习到追踪微服务rest服务调用链路的问题,接触到zipkin,而spring cloud也提供了spring-cl...
如何优雅地使用 Swagger 维护项目文档 - 工具资源 - 掘金
Generate your API documentation using Swagger gracefully and automatically. 概述 ...
MyBatis 从扫描 package 到 mapper 接口动态代理的实现 - 后端 - 掘金
突然想到 mybatis 的 mapper 接口没有实现类,却能在 service 层直接注入并调用其方法操作数据库,之前只是知道这么做就行,出于好奇网上找了一下答案跟着源码走了一遍。 <bean id="userMapper" class="org.m...
Java 人员正确使用 IntelliJ IDEA 的方式 | 掘金技术征文 - 掘金
原本地址:Java人员正确使用 IntelliJ IDEA的方式博客地址:http://tengj.top/ 前言 博主是Java开发人员,以前一直都用myeclipse来开发的,说实话感觉myeclipse毫无美感可言,后来经过同事介绍,认识了IDEA,一...
Dubbo 源码分析 - 后端 - 掘金
dubbo源码解析 具体内容查看相关的markdown,有问题联系紫苑,或者邮件: ziyuan@2dfire.com...
dubbo 源码分析 - 服务注册 - 后端 - 掘金
前言 对于分布式服务架构,解决服务的发现问题,引入了注册中心中间件,从而很好的解决了服务双方(消费方和提供方)的直接依赖问题。这种解耦的意义是非凡的,不仅在程序运行时保证了灵活性,在开发阶段也使得快速迭代成为了可能,甚至在运维层面也提供了非常好...
dubbo 插件化的实现分析 · - 后端 - 掘金
前言 Dubbo的插件化实现非常类似于原生的JAVA的SPI:它只是提供一种协议,并没有提供相关插件化实施的接口。用过的同学都知道,它有一种java原生的支持类:ServiceLoader,通过声明接口的实现类,在META-INF/servic...
使用 RelProxy 提高 Java 开发效率 - 工具资源 - 掘金
RelProxy 旨在通过下列两种方式提高开发效率: 可以在生产环境下修改用户代码,而不需要重新加载整个应用。 提高开发效率,避免花费过多的时间加载应用且对性能不会有影响。 两个目标都要求在你的应用中增加一些 RelProxy 代码,注册成一种典型的监听、回调...
更好的 Java - 后端 - 掘金
Java是最流行的语言之一,但是似乎没人喜欢使用它。好吧,Java仅仅是一种“还好”的编程语言。自从Java 8的面世,我决定编辑一个关于Java的列表,包括库、最佳实践以及工具让我们能更好的使用Java。 这篇文章在Github上,你可以*的添加你所使...
构建Java Agent,而不是使用框架 - 后端 - 掘金
Java annotations自从被引入到Java之后,一直扮演着整合各种API的作用,尤其是对大型应用框架而言。在这方面,Spring和Hibernate都是Java annotation应用的好例子——仅仅需要增加几行简单的Java annotation...
Lucene 学习总结之一:全文检索的基本原理 - 后端 - 掘金
一、总论 根据http://lucene.apache.org/java/docs/index.html定义: Lucene是一个高效的,基于Java的全文检索库。 所以在了解Lucene之前要费一番工夫了解一下全文检索。 那么什么叫做全文检索呢?这要从我们生...
【腾讯 TMQ】JAVA 代码覆盖率工具 JaCoCo - 原理篇 - 工具资源 - 掘金
总目录 JAVA代码覆盖率工具JaCoCo-原理篇 1.1 覆盖率定义 1.2 JAVA覆盖率工具介绍 1.2.1 JaCoCo简述 1.2.2 JaCoCo基本概念 1.2.3 JaCoCo 原理 1.3 JaCoCo使用方式 1.3.1 Apache An...
IntelliJ IDEA 高效率配置 - 工具资源 - 掘金
IntelliJ IDEA 主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。 IntelliJ IDEA 官网:https://www.jetbrains.c...
[福利] 成吨提高开发效率:Intellij Shortcuts 精简子集与思维模式 - 工具资源 - 掘金
本仓库是一个经过精简的Intellij快捷键子集,并提供在线的cheatsheet快速备查表: intellij.linesh.tw。 Intellij的快捷键多而繁杂,处女座的我也由此阅读了大量的文档和资料,从官方推荐的keymap到市面能看到的大多...
Elasticsearch,为了搜索 - 后端 - 掘金
Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。 但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言...
通过项目逐步深入了解 Mybatis - 后端 - 掘金
Mybatis 和 SpringMVC 通过订单商品案例驱动 官方中文地址:http://www.mybatis.org/mybatis-3/zh/ 官方托管地址:https://github.com/mybatis/mybatis-3 本项目全部代码地...
Intellij Mybatis 插件破解教程 - 后端 - 掘金
背景 Intellij上的mybatis插件是一个十分优秀的插件,但是需要付费。在网上搜索一番之后,发现果然有破解版,遂来研究一番破解原理。 环境 操作系统:mac os 10.11.6 Intellij版本:2016.2 mybatis插件版本:2.87 ...
Dubbo 高级特性实践 - 泛化调用 - 后端 - 掘金
引言 当后端Java服务用Dubbo协议作为RPC方案的基础,但部分消费方是前端Restful的PHP服务,不能直接调用,于是在中间架设了Router服务提供统一的基于HTTP的后端调用入口。而Router调用后端Java服务就应用了Dubbo的高级特...
正确、安全地停止 SpringBoot 应用 - 后端 - 掘金
引言Spring Boot,作为Spring框架对“约定优先于配置(Convention Over Configuration)”理念的最佳实践的产物,它能帮助我们很快捷的创建出独立运行、产品级别的基于Spring框架的应用,大部分Spring Boot应用只...
Java开源博客Tale,让每一个有故事的人更好的表达想法! - 掘金
Tale Tale的英文含义为故事,我相信每个坚持写Blog的人都是有故事的;中文你叫它 塌了 也无所谓