
java
刘星石
这个作者很懒,什么都没留下…
展开
-
Ubuntu安装JDK与环境变量配置
一、getconf LONG_BIT 查看系统位数,并下载相应的jdk。我的系统是32位的,所以下载的jdk是:jdk-8u77-linux-i586.gz。并且放到了/home/injavawetrust/software目录中。 二、创建一个目录/usr/lib/jvm以便于把下载解压后的包放到这个目录下。cd /usr/libsudo mkdir jvm转载 2016-04-20 11:54:45 · 557 阅读 · 0 评论 -
Java并发编程:synchronized
原文出处: 海子虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。以下是本文的目录大纲:一.什么时候会出现线程安全问题?二.如何解决线程安全问题?三.synchronized同步方转载 2016-03-14 17:46:27 · 333 阅读 · 0 评论 -
Java编程入门(词汇表)
抽象类(abstract class):抽象类不能创建对象,主要用来创建子类。Java中的抽象类使用 abstract 修饰符定义。抽象数据类型(abstract data type ADT):抽象数据类型指明了可能的类型和允许进行的操作,但是没有提供实现。访问标识符(access specifier):用于方法或变量定义,限定了哪些类可以访问该方法或变量。Java中的访问标识符有转载 2016-02-29 10:48:34 · 626 阅读 · 1 评论 -
JVM内幕:Java虚拟机详解
这篇文章解释了Java 虚拟机(JVM)的内部架构。下图显示了遵守 Java SE 7 规范的典型的 JVM 核心内部组件。 上图显示的组件分两个章节解释。第一章讨论针对每个线程创建的组件,第二章节讨论了线程无关组件。线程JVM 系统线程每个线程相关的程序计数器栈本地栈栈限制栈帧局部变量数组操作数栈动态链接线程共享堆内存管理非堆内存即时编译方转载 2016-02-26 16:15:05 · 275 阅读 · 0 评论 -
深入分析Java的序列化与反序列化
序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容。主要涉及到以下几个问题:怎么实现Java的序列化为什么实现了java.io.Serializable接口才能被序列化transient的作用是什么怎么自定义序列化策略自定义的序列化策略是如何被调用的ArrayLi转载 2016-02-26 15:32:39 · 331 阅读 · 0 评论 -
40个Java多线程问题总结
原文出处: 五月的仓颉前言Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些转载 2016-03-11 14:01:28 · 462 阅读 · 0 评论 -
三张图彻底了解Java中字符串的不变性
原文出处: Hollis(@Hollis_Chuang)定义一个字符串1String s = "abcd";s中保存了string对象的引用。下面的箭头可以理解为“存储他的引用”。使用变量来赋值变量1String s2 = s;转载 2016-03-10 14:34:33 · 329 阅读 · 0 评论 -
你真的会写单例模式吗——Java实现
原文出处: 吃桔子的攻城狮单例模式可能是代码最少的模式了,但是少不一定意味着简单,想要用好、用对单例模式,还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结,如有错漏之处,恳请读者指正。饿汉法顾名思义,饿汉法就是在第一次引用该类的时候就创建对象实例,而不管实际是否需要创建。代码如下:12345转载 2016-04-01 15:42:55 · 356 阅读 · 0 评论 -
图解微服务架构演进
原文出处: 泥瓦匠BYSocket前言来自dubbo的用户手册中的一句话:随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。常规的垂直应用架构就相当于传统的那种,现阶段传统垂直架构改造的核心就是对应用做服务化改造,服务话改造使用的核心技术架构就是分布式服务框架。其实转载 2016-03-09 15:19:50 · 1671 阅读 · 0 评论 -
Java并发编程:如何创建线程?
在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,然后再阐述如何创建线程以及如何创建进程。下面是本文的目录大纲:一.Java中关于应用程序和进程相关的概念二.Java中如何创建线程三.Java中如何创建进程一.Java中关于应用程序和进程相关的概念转载 2016-03-01 10:44:58 · 254 阅读 · 0 评论 -
浅析Java中的final关键字
原文出处: 海子谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲:一.final关键字的基本用法二.深入理解final关键字若有不正之处,请多多谅解并欢迎指正。一.final关键字的基本用法转载 2016-03-25 15:03:40 · 370 阅读 · 0 评论 -
构建需求响应式亿级商品详情页
原文出处: 张开涛该文章是根据velocity 2015技术大会的演讲《京东网站单品页618实战》细化而来,希望对大家有用。商品详情页是什么商品详情页是展示商品详细信息的一个页面,承载在网站的大部分流量和订单的入口。京东商城目前有通用版、全球购、闪购、易车、惠买车、服装、拼购、今日抄底等许多套模板。各套模板的元数据是一样的,只是展示方式不一样。目前商品详情页个性化需求非常多,数转载 2016-04-19 13:28:46 · 459 阅读 · 0 评论 -
HashMap多线程并发问题分析
原文出处: 陶邦仁并发问题的症状多线程put后可能导致get死循环从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这个方法上了,重启程序后问题消失。但是转载 2016-04-18 10:41:17 · 389 阅读 · 0 评论 -
与独角兽公司技术高管切磋交流,问啊W-Time上海站活动全程免费!
专注为IT技术从业者服务的“问啊”W-Time技术分享沙龙,上海站确认!上海的程序员们,一起来嗨?W-Time 是什么? W-Time技术分享沙龙,是由“问啊”APP主办的系列主题沙龙。 W取自WenA-Winner-Wonderful三者的首字母,“问啊”与成功者一同感受技术的精彩!原创 2016-04-27 17:43:55 · 1033 阅读 · 0 评论 -
利用github搭建个人maven仓库
原文出处: hengyunabc缘起之前看到有开源项目用了github来做maven仓库,寻思自己也做一个。研究了下,记录下。简单来说,共有三步:deploy到本地目录把本地目录提交到gtihub上配置github地址为仓库地址配置local file maven仓库deploy到本地maven可以通过http, ftp, ssh等deploy到远程转载 2016-04-14 14:32:26 · 422 阅读 · 0 评论 -
深入理解Java的接口和抽象类
原文出处: 海 子对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:一.抽象类二.接口三.抽象类和接口的区别若有不正之处,转载 2016-03-28 17:17:06 · 296 阅读 · 0 评论 -
Java垃圾回收机制
原文出处: 海 子说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚拟转载 2016-04-12 17:21:58 · 226 阅读 · 0 评论 -
干货|建议初创团队起初也要构建分布式应用
干货|建议初创团队起初也要构建分布式应用 本文内容整理自W-Time技术分享沙龙-天津站现场演讲《一切都是分布的》,演讲者:李傲,问啊联合创始人,前中交车联网总架构。 好多人都会问什么是架构师?其实架构师的定义很宽泛,前端后端的定义都不一样。作为后端出身的架构师,我认为后端并不是大家想的封装组件,它要定义的是规划,规划模块之前的关系。在一台机器搞不定时怎么办?答:集群!原创 2016-04-08 16:51:31 · 521 阅读 · 0 评论 -
使用httpclient必须知道的参数设置及代码写法、存在的风险
原文出处: 张开涛结论:如果使用httpclient 3.1并发量比较大的项目,最好升级到httpclient4.2.3上,保证并发量大时能抗住。httpclient 4.3.3,目前还有一些bug;还是用4.2.x稳定版本吧。以库存项目为例:httpclient一天并发量在1500w左右,峰值一秒7万。在之前使用过程中,一直存在大量的org.a转载 2016-03-25 17:07:23 · 1502 阅读 · 0 评论 -
Java ConcurrentModificationException异常原因和解决方法
原文出处: 海子在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。以下是本文目录大纲:一.ConcurrentModificationException异常出现的原因二.在单线程环境转载 2016-03-09 14:27:19 · 283 阅读 · 0 评论 -
Java中整型的缓存机制
译文出处: 张洪亮 原文出处:Java Papers本文将介绍Java中Integer的缓存相关知识。这是在Java 5中引入的一个有助于节省内存、提高性能的功能。首先看一个使用Integer的示例代码,从中学习其缓存行为。接着我们将为什么这么实现以及他到底是如何实现的。你能猜出下面的Java程序的输出结果吗。如果你的结果和真正结果不一样,那么你就要好好看看本文了。转载 2016-03-08 15:32:34 · 332 阅读 · 0 评论 -
为什么Java要把字符串设计成不可变的
原文出处: Hollis(@Hollis_Chuang)String是Java中一个不可变的类,所以他一旦被实例化就无法被修改。不可变类的实例一旦创建,其成员变量的值就不能被修改。不可变类有很多优势。本文总结了为什么字符串被设计成不可变的。将涉及到内存、同步和数据结构相关的知识。字符串池字符串池是方法区中的一部分特殊存储。当一个字符串被被创建的时候,首先会去这个字符串池中查找,转载 2016-03-08 14:36:57 · 264 阅读 · 0 评论 -
Java高级开发工程师面试考纲
如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构、算法、网络、操作系统等知识。因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对Java高级开发工程师职位的考核纲要,希望可以帮助到需要的人。当前,市面上有《Java XX宝典》类似的图书,而且图书中的内容都着重在讲解Java最为基础的部分,最严重的是,里面有着大量错转载 2016-03-02 17:00:41 · 385 阅读 · 0 评论 -
Java学习笔记---多线程同步的五种方法
一、引言前几天面试,被大师虐残了,好多基础知识必须得重新拿起来啊。闲话不多说,进入正题。二、为什么要线程同步因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常。举个例子,如果一个银行账户同时被两个线程操作,一个取100块,一个存钱100块。假设账户原本有0块,如果取钱线程和存钱线程同时发生,转载 2016-03-02 16:21:47 · 240 阅读 · 0 评论 -
Java 机器学习 工具 & 库
下面是25个Java机器学习的工具&&库列表:1.Weka是一个数据挖掘任务机器学习算法的集合。这些算法可以直接应用于数据集或者在你自己的Java代码中调用。Weka 包含数据预处理、分类、回归、聚类、关联规则、可视化 等工具。2.Massive Online Analysis(MOA) 是一个非常流行的数据挖掘方面的开源框架,它有一个非常活跃的社区。它包括一组机器学习算法(分类、转载 2016-03-02 16:04:09 · 465 阅读 · 0 评论 -
Java程序员应该知道的10个调试技巧
试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序。但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运行时上面。在开始之前,推荐大家去看看Eclipse shortcuts这篇文章,它将会给你带来很多方便。在本文中使用的是Eclipse Juno版(Eclipse 4.2),在开始前给大家提3转载 2016-03-02 14:09:06 · 247 阅读 · 0 评论 -
通过使用Byte Buddy,便捷地创建Java Agent
Java agent是在另外一个Java应用(“目标”应用)启动之前要执行的Java程序,这样agent就有机会修改目标应用或者应用所运行的环境。在本文中,我们将会从基础内容开始,逐渐增强其功能,借助字节码操作工具Byte Buddy,使其成为高级的agent实现。在最基本的用例中,Java agent会用来设置应用属性或者配置特定的环境状态,agent能够作为可重用和可插入的组件。如下的转载 2016-03-01 16:09:26 · 5625 阅读 · 0 评论 -
Jetty嵌入式Web容器攻略
Jetty是一个用 Java 实现、开源、基于标准的,并且具有丰富功能的 Http 服务器和 Web 容器。Jetty中应用最广泛的一项功能就是可以作为嵌入式Web容器。在开发阶段,可以使用Jetty在Eclipse里直接启动应用,而不是像Tomcat那样繁琐,先把几十兆应用打包,然后再复制到某个目录后再启动。在测试阶段,可以直接在测试用例中启动Jetty,而不是先将应用打包部署到容器。在转载 2016-03-01 14:11:16 · 5254 阅读 · 0 评论 -
探秘Java中String、StringBuilder以及StringBuffer
相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String、StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景。下面是本文的目录大纲:一.你了解String类吗?二.深入理解String、StringBuffer、StringBuilder三.不同场景转载 2016-03-01 13:33:30 · 217 阅读 · 0 评论 -
Java 资源大全中文版
我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-java 就是 akullpp 发起维护的 Java 资源列表,内容包括:构建工具、数据库、框架、模板、安全、代码分析、日志、第三方库、书籍、Java 站点等等。伯乐在线已经开始把 awesome-java 资源列表翻译+整理出中文版。Awesome 系列虽然挺全,但基本只对收录的资源做转载 2015-11-04 10:48:08 · 500 阅读 · 0 评论 -
Java虚拟机体系结构深入研究总结
工作以来,代码越写越多,程序也越来越臃肿,效率越来越低,对于我这样一个追求完美的程序员来说,这是绝对不被允许的,于是除了不断优化程序结构外,内存优化和性能调优就成了我惯用的“伎俩”。要对Java程序进行内存优化和性能调优,不了解虚拟机的内部原理(或者叫规范更严谨一点)是肯定不行的,这里推荐一本好书《深入Java虚拟机 (第二版)》(Bill Venners著,曹晓刚 蒋靖 译,实际上本文正转载 2016-03-03 15:26:18 · 257 阅读 · 0 评论 -
Java I/O 模型的演进
什么是同步?什么是异步?阻塞和非阻塞又有什么区别?本文先从 Unix 的 I/O 模型讲起,介绍了5种常见的 I/O 模型。而后再引出 Java 的 I/O 模型的演进过程,并用实例说明如何选择合适的 Java I/O 模型来提高系统的并发量和可用性。由于,Java 的 I/O 依赖于操作系统的实现,所以先了解 Unix 的 I/O 模型有助于理解 Java 的 I/O。相关概念同转载 2016-03-03 15:39:11 · 265 阅读 · 0 评论 -
Java经典设计模式之五大创建型模式(附实例和详解)
原文出处: 小宝鸽一、概况总体来说设计模式分为三大类:(1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。(2)结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。(3)行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、转载 2016-03-08 11:29:49 · 351 阅读 · 0 评论 -
深入剖析Java中的装箱和拆箱
原文出处: 海子自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题。本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。以下是本文的目录大纲:一.什么是装箱?什么是拆箱?二.装箱和拆箱是如何实现的三.面试中相关的问题若有不正之处,请谅解和批评指正,不胜感激。一.什么转载 2016-03-07 17:18:36 · 241 阅读 · 0 评论 -
maven环境快速搭建
原文出处: 虫师最近,开发中要用到maven,所以对maven进行了简单的学习。因为有个maven高手在身边,所以,很快就上手了,我这里算是自我总结吧。关于maven是什么东东,请参考其它文章。—————-准备工作————-Jdk 1.5以上java开发环境。Eclipse IDE 一个。Maven 3.0.3下载地址: http://maven.apac转载 2016-03-07 16:56:02 · 207 阅读 · 0 评论 -
spring里头各种获取ApplicationContext的方法
原文出处: xieyu_zy为啥写这个文章呢?spring各个版本不同,以及和系统框架套在一起不同,导致获取的方式不同,网络上各种版本,太乱了,写获取方式的人都不写这个获取方式是在本地还是在WEB,在那种应用服务器下,在spring那个版本下,太过分了!我这写一些,常见的,可能经常要用的版本;首先了解,为什么要获取这个东西:当你想通过spring获取一个你指定的类的实例的时转载 2016-03-07 11:49:24 · 286 阅读 · 0 评论 -
美女金牌讲师小班精品课程:Java泛型与反射机制
摒弃千篇一律的培训班,精品小班授课;金牌讲师1对5扎实教学,理论实操结合;快速掌握Java泛型与反射机制的原理与应用。为保证课程质量,本次课程报名满5人即截止;课程费用300元,5名学员AA制,60元即可享受金牌讲师120分钟倾囊相授!|授课内容|原创 2016-03-30 11:37:09 · 514 阅读 · 0 评论 -
JAVA数据类型自动转换,与强制转换
一、数据类型自动转换public class Test{ public static void main(String[] args){ int a = 1; double b = 1.5; double a_b_count = a+b; //整型与双精度型相加时,结果会自转载 2016-03-29 15:07:05 · 912 阅读 · 0 评论 -
springMVC json自动将date类型转换为long
今天早上遇到了一个奇怪得问题,直接给后台发送请求返回得页面信息中显示时间是正常得,如:2016-03-17 15:42:11.0,但是通过AJAX获取得信息中显示得时间竟然是时间戳。 我首先检查后台传回来得集合中时间类型是不是就是时间戳,结果打上断点发现集合中显示得时间也是正常得,我按F8跳过之后,查看浏览器传送回来得JSON相应居然是时间戳,我不信,于是反反复复了好几遍,确实是集合显示转载 2016-03-29 13:51:16 · 1615 阅读 · 0 评论 -
Java对象排序、中文排序、SortedSet排序使用和源码讲解
原文出处: xieyu_zy在C、C++中有很多排序算法,但是通常排序算法不得不让程序员在写代码的过程中陷入对底层很多指针和位置的理解,java不希望这样,所以排序大多可以由java帮你做掉,例如,你要对一个数组排序,就通过:Collections.sort(list)那么这个list就被排序了,排序最终调用的是Arrays.sort方法来完成的,所以数组自然是用Arrays.sort了,转载 2016-03-04 14:12:26 · 1156 阅读 · 0 评论