转载或收藏的java相关
henryzhang2009
这个作者很懒,什么都没留下…
展开
-
java List 去重(两种方式)
方法一: 通过Iterator 的remove方法public void testList() { List list=new ArrayList(); list.add(1); list.add(2); list.add(4); list.add(1); list.add(2); list.add(5); list.add(1); List listTemp= ne转载 2015-06-09 18:19:20 · 9464 阅读 · 3 评论 -
美团推荐算法实践
前言推荐系统并不是新鲜的事物,在很久之前就存在,但是推荐系统真正进入人们的视野,并且作为一个重要的模块存在于各个互联网公司,还是近几年的事情。随着互联网的深入发展,越来越多的信息在互联网上传播,产生了严重的信息过载。如果不采用一定的手段,用户很难从如此多的信息流中找到对自己有价值的信息。解决信息过载有几种手段:一种是搜索,当用户有了明确的信息需求意图后,将意图转换为几个简短的词或者短语转载 2015-04-05 00:11:09 · 421 阅读 · 0 评论 -
Hadoop科普文——常见的45个问题解答
摘要:时至今日,Hadoop已成为最流行的离线数据处理平台,然而它的集群配置起来并不简单。如果你学习Hadoop不久,相信下面这45个问题会对你有所帮助。在工作生活中,有些问题非常简单,但往往搜索半天也找不到所需的答案,在Hadoop的学习与使用过程中同样如此。这里为大家分享Hadoop集群设置中经常出现的一些问题,以下为译文:1.Hadoop集群可以运行的3个模式?单机(本地转载 2015-04-04 23:32:14 · 482 阅读 · 0 评论 -
专访孔德芳:如何才能提高Java Web性能?
孔德芳认为,设计模式不会随着各种语言或开发框架的没落而没落,它犹如老酒,愈久愈醇香孔德芳,Arcsoft云服务部门视频流服务产品技术经理。多年一线Java Web开发经历,专注高性能Web服务、Web项目架构设计。熟悉权限设计、服务集群、安全防御、设计模式、多线程并发编程、JVM内存管理、项目管理等Web开发所涉及领域以及各种开源Web开源框架,还做过一年JavaMobile开发,熟悉多个J2转载 2015-04-05 00:08:01 · 751 阅读 · 0 评论 -
我所经历的“余额宝”的那些故事
一年前的现在,在杭州支付宝大楼里有个叫“春秋书院”的闭关室,里面一群紧张而兴奋的年轻人在忙碌着。项目室巨大的落地窗前,站着一个面色凝重的人,他就是天弘基金创新事业部技术负责人樊振华,一个在金融IT领域有着丰富经验的老兵。他看着窗外川流不息的汽车,深深地吸了一口气。这是一个只有代号但没有名字的保密项目,内部称之为“2号项目”,2号项目的旺旺交流群的签名上写着“2013支付宝秘密武器”,足可见这个转载 2015-04-05 00:01:09 · 1021 阅读 · 0 评论 -
Java几款性能分析工具的对比
在给客户的应用程序维护的过程中,我注意到在高负载下的一些性能问题。理论上,增加对应用程序的负载会使性能等比率的下降。然而,我认为性能下降的比率远远高于负载的增加。我也发现,性能可以通过改变应用程序的逻辑来提升,甚至达到极限。为了更详细的了解这一点,我们需要做一些性能分析,自然也要用到一些分析工具。Java有许多的性能分析工具,可以帮助我们弄清楚这个问题,但是我们应该使用哪一款工具呢?为了做转载 2015-04-05 00:00:20 · 384 阅读 · 0 评论 -
我的算法学习之路
这篇文章讲了什么?我这些年学习数据结构和算法的总结。 一些不错的算法书籍和教程。 算法的重要性。 初学第一次接触数据结构是在大二下学期的数据结构课程。然而这门课程并没有让我入门——当时自己正忙于倒卖各种MP3和耳机,对于这些课程根本就不屑一顾——反正最后考试划个重点也能过,于是这门整个计算机专业本科最重要的课程就被傻逼的我直接忽略过去了。直到大三我才反应过来以后还要找工作——而转载 2015-04-04 23:36:11 · 407 阅读 · 0 评论 -
Java中创建URL的常见问题及解决方案
URL无处不在,不过似乎开发人员并没有真正地理解它们,因为我在Stack Overflow上经常看到有人在问如何正确的创建一个URL。想知道URL语法是如何工作的,可以看下Lunatech的这篇文章,非常不错 。本文不会深入介绍URL的全部语法(如果你想全面了解URL的话,可以读下RFC 3986,RFC 1738, 以及上面提到的那篇文章,还有W3上面的文档), 这里我想讲的是常见的一些转载 2015-04-05 00:00:22 · 1272 阅读 · 0 评论 -
淘宝内部分享:怎么跳出MySQL的10个大坑
淘宝自从2010开始规模使用MySQL,替换了之前商品、交易、用户等原基于IOE方案的核心数据库,目前已部署数千台规模。同时和Oracle, Percona, Mariadb等上游厂商有良好合作,共向上游提交20多个Patch。目前淘宝核心系统研发部数据库组,根据淘宝的业务需求,改进数据库和提升性能,提供高性能、可扩展的、稳定可靠的数据库(存储)解决方案。 目前有以下几个方向:单机,提升单机数据库转载 2015-04-04 00:19:55 · 473 阅读 · 0 评论 -
徐汉彬:Web系统大规模并发——电商秒杀与抢购
【导读】徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升级与重构,目前在小满科技创业,从事SaaS服务技术建设。电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面转载 2015-04-03 23:52:25 · 488 阅读 · 0 评论 -
JSP开发过程遇到的中文乱码问题及解决方案
对于程序猿来说,乱码问题真的很头疼,下面列举几种常见的乱码。1.数据库编码不一致导致乱码解决方法:首先查看数据库编码,输入:show variables like "%char%";确认编码一致,如果不一致,可输入:SET character_set_client='utf8';SET character_set_connection='utf8';SE转载 2015-04-03 23:27:15 · 422 阅读 · 0 评论 -
Java Struts2 的请求处理流程详解
一、Struts2的处理流程:客户端产生一个HttpServletRequest的请求,该请求被提交到一系列的标准过滤器(Filter)组建链中(如ActionContextCleanUp:它主要是清理当前线程的ActionContext、Dispatcher,FilterDispatcher主要是通过ActionMapper来决定需要调用那个Action,FilterDispatcher转载 2015-04-03 23:25:17 · 6688 阅读 · 0 评论 -
程序员代码面试常用算法汇总!
在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。 本文总结了程序员在代码面试中最常遇到的10个算法,想要真正了解这些算法的原理,还需程序员们花些功夫。1.String/Array/Matrix在Java中,String是一个包含char数组和其它字段、方法的类。如果没有IDE自转载 2015-04-04 00:22:32 · 538 阅读 · 0 评论 -
Android性能优化典范
2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议。主要从三个方面展开,Android的渲染机制,内存与GC,电量优化。下面是对这些问题和建议的总结梳理。0)Rend转载 2015-04-04 00:17:42 · 333 阅读 · 0 评论 -
Hadoop安装
一:环境准备1:准备虚拟机一台,我安装的是redhat6.4的32位操作系统。2:修改hostname。使用命令hostname localhost(如需重启后生效,可以修改配置文件/etc/sysconfig/network中的HOSTNAME=localhost即可)。另修改/etc/hosts,用#注释掉默认的文本,添加127.0.0.1 localhost即可。3:jdk安装,转载 2015-04-05 00:00:41 · 326 阅读 · 0 评论 -
Java内存分配和String类型的深度解析
一、引题在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深度分析关于String的许多令人迷惑的问题。下面是本文将要涉及到的一些问题,如果读者对这些问题都了如指掌,则可忽略此文。1、java内存具体指哪块内存?这块内存区域为什么要进行划分?是如何划分的?划分之后每块区域的作用是什么?如何设置各个区域的大转载 2015-04-06 00:20:44 · 529 阅读 · 0 评论 -
理解OAuth 2.0
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。 一、应用场景为了理解OAuth的适用场合,让我举一个假设的例子。有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"云转载 2015-04-04 23:28:08 · 345 阅读 · 0 评论 -
java List 去重,list去除重复
方法一: 通过Iterator 的remove方法 Java代码 public void testList() { List list=new ArrayList(); list.add(1); list.add(2); list.add(4); list.add(1); list.add(2); list转载 2015-05-14 00:18:27 · 1347 阅读 · 0 评论 -
处理ip,java判断ip是否在指定的ip段范围内,给定的ip地址是否在某个ip段范围内,将字符串形式IP地址转换long类型
/*** 将字符串形式IP地址127.0.0.1转换10234564321* * @param strIP* @return*/public static long ip2Long(String strIP) {long[] ip = new long[4];// 先找到IP地址字符串中.的位置int position1 = strIP.indexOf(".")转载 2015-05-14 01:29:21 · 4445 阅读 · 0 评论 -
json-lib使用,JSONObject和JSONArray---js处理json
1.从Object到String 要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可(1)示例一1 Book book=new Book();2 book.setName("Java");3 book.setPrice(52.3f);4 JSONObject object=JSONObject.fromObj转载 2015-05-13 23:39:14 · 676 阅读 · 0 评论 -
多个非常有用的Java程序片段-常用java示例-常用示例-范例-公共方法-公用方法
下面是20个非常有用的Java程序片段,希望能对你有用。1. 字符串有整型的相互转换String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int2. 向文件末尾添加内容BufferedWriter out =转载 2015-04-03 23:42:46 · 2591 阅读 · 0 评论 -
利用iframe实现提交表单是页面部分刷新
String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> ">转载 2015-04-17 17:33:54 · 1908 阅读 · 0 评论 -
2.多个非常有用的Java程序片段-常用java示例-常用示例-范例-公共方法-公用方法-2
java程序员必知的 8大排序算法-java排序算法转自http://blog.csdn.net/without0815/article/details/7697916 8种排序之间的关系:1, 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好转载 2015-04-24 22:53:55 · 474 阅读 · 0 评论 -
Java习惯用法总结
在Java编程中,有些知识 并不能仅通过语言规范或者标准API文档就能学到的。在本文中,我会尽量收集一些最常用的习惯用法,特别是很难猜到的用法。(Joshua Bloch的《Effective Java》对这个话题给出了更详尽的论述,可以从这本书里学习更多的用法。)我把本文的所有代码都放在公共场所里。你可以根据自己的喜好去复制和修改任意的代码片段,不需要任何的凭证。目录实现:转载 2015-04-07 12:13:22 · 418 阅读 · 0 评论 -
每个Java开发者都应该知道的5个JDK工具
JDK是Java语言的软件开发工具包,没有它就无法编译Java程序。目前,有许许多多的JDK工具呈现在大家面前,但最常用的莫过于java.exe、javac.exe、jar等。除了这几个,还有哪些呢?本文作者Joe拥有多年的Java开发经验,其在博客上分享了一篇文章:5 JDK Tools Every Java Developer Should Know,笔者对其进行了编译,以下为译文。目前,转载 2015-04-18 16:56:48 · 497 阅读 · 0 评论 -
Java匿名内部类的传值
在Nutz中,存在大量需要使用匿名内部类的情况,很多童鞋都对传值很困惑,所以我这里说明一下传入://匿名内部类,只能访问final的本地变量及方法参数public void addUser(final String name, String passwd, final String userType) { User user = null; if ("admin".equ转载 2015-04-18 17:03:07 · 5423 阅读 · 1 评论 -
Java编程提高性能时需注意的地方
最近的机器内存又爆满了,出了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源和总结一些在java编程中尽可能做到的一些地方-1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个转载 2015-04-05 00:04:00 · 433 阅读 · 0 评论 -
关于Spring的69个面试问答——终极列表
这篇文章总结了一些关于Spring框架的重要问题,这些问题都是你在面试或笔试过程中可能会被问到的。下次你再也不用担心你的面试了,Java Code Geeks这就帮你解答。大多数你可能被问到的问题都列举在下面的列表中了。所有的核心模块,从基础的Spring功能(如Spring Beans)到上层的Spring MVC框架,文章中都会进行简短的讲解。看完这些面试问题,你应该看看我们的Spring转载 2015-04-04 23:39:30 · 361 阅读 · 0 评论 -
安装完 MySQL 后必须调整的 10 项配置
当我们被人雇来监测MySQL性能时,人们希望我们能够检视一下MySQL配置然后给出一些提高建议。许多人在事后都非常惊讶,因为我们建议他们仅仅改动几个设置,即使是这里有好几百个配置项。这篇文章的目的在于给你一份非常重要的配置项清单。我们曾在几年前在博客里给出了这样的建议,但是MySQL的世界变化实在太快了!写在开始前…即使是经验老道的人也会犯错,会引起很多麻烦。所以在盲目的运用这些推荐之转载 2015-04-04 23:31:31 · 382 阅读 · 0 评论 -
Hadoop、Spark、HBase与Redis的适用性讨论(全文)
最近在网上又看到有关于Hadoop适用性的讨论[1]。想想今年大数据技术开始由互联网巨头走向中小互联网和传统行业,估计不少人都在考虑各种“纷繁复杂”的大数据技术的适用性的问题。这儿我就结合我这几年在Hadoop等大数据方向的工作经验,与大家讨论一下Hadoop、Spark、HBase及Redis等几个主流大数据技术的使用场景(首先声明一点,本文中所指的Hadoop,是很“狭义”的Hadoop,即在转载 2015-04-04 00:10:34 · 462 阅读 · 0 评论 -
什么是堆和栈,它们在哪儿?--堆栈
问题描述编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅有高级语言编程经验,没有看过对此更清晰的解释。我的意思是我理解什么是栈,但是它们到底是什么,在哪儿呢(站在实际的计算机物理内存的角度上看)?在通常情况下由操作系统(OS)和语言的运行时(runtime)控制吗? 它们的作用范围是什么? 它们的大小由什么决定? 哪个更快?转载 2015-04-04 00:03:01 · 9060 阅读 · 1 评论 -
Java 8 时间日期库的20个使用示例
除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API。Java对日期,日历及时间的处理一直以来都饱受诟病,尤其是它决定将java.util.Date定义为可修改的以及将SimpleDateFormat实现成非线程安全的。看来Java已经意识到需要为时间及日期功能提供更好转载 2015-04-03 23:40:36 · 526 阅读 · 0 评论 -
Java Struts文件上传和下载详解
Struts2文件上传Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传。上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的目录,以确保数据不丢失。请注意,服务器有一个安全策略可能会禁止写到目录以外的临时目录和属于web应用的目录。在Struts中的文件上传是通过预先定义的拦截文件上传拦截器这是可通过org.ap转载 2015-04-03 23:29:01 · 465 阅读 · 0 评论 -
101 个 MySQL 的调节和优化的提示 --mysql优化
MySQL是一个功能强大的开源数据库。随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限。这里是101条调节和优化MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧。MySQL 服务器硬件和操作系统调节:1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问转载 2015-04-04 00:22:07 · 473 阅读 · 0 评论 -
京东峰值系统设计
有别于社交网络、搜索和游戏等网站,电商网站的用户流量具有操作性强、随时令变化等特点。在欧美国家,Black Friday和Cyber Monday标志着节假日消费的高峰。影响电商流量峰值的主要因素是抢购、促销和恶意攻击,尤其是京东618店庆和双11等大规模的促销活动。高流量、高并发情况下,如何保证整个系统的可靠性和稳定性,是众多电商企业研发团队都在思考的问题。京东电商系统的设计是围绕系统稳定性转载 2015-04-04 00:04:23 · 704 阅读 · 0 评论 -
程序员解决问题的60个策略
根本的指导方针1.首先写代码的时候最好不要有缺陷。最好的修复方法就是让bug胎死腹中。良好的单元测试 强制数据库约束 使用输入验证框架 避免未实现的“else”条件 在应用到主程序之前知道如何在孤立的情况下使用 日志2.print语句。往往额外输出个一两行将有助于隔离问题。3.切换至详细的日志记录。详细的日志记录有助于发现更多的线索。4.搜索日志。如果日志太多,可采取关转载 2015-04-03 23:39:35 · 372 阅读 · 0 评论 -
流式大数据处理的三种框架:Storm,Spark和Samza
许多分布式计算系统都可以实时或接近实时地处理大数据流。本文将对三种Apache框架分别进行简单介绍,然后尝试快速、高度概述其异同。Apache Storm在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topology)。这个拓扑将会被提交给集群,由集群中的主控节点(master node)分发代码,将任务分配给工作节点(worker node)执行。一个拓扑中包括sp转载 2015-03-29 18:10:58 · 594 阅读 · 0 评论 -
最全面的Java多线程用法解析
最全面的java多线程用法解析,如果你对Java的多线程机制并没有深入的研究,那么本文可以帮助你更透彻地理解Java多线程的原理以及使用方法。1.创建线程在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实转载 2015-03-29 18:08:57 · 341 阅读 · 0 评论 -
用 Java 实现断点续传 (HTTP)
断点续传的原理其实断点续传的原理很简单,就是在 Http 的请求上和一般的下载有所不同而已。 打个比方,浏览器请求服务器上的一个文时,所发出的请求如下: 假设服务器域名为 wwww.sjtu.edu.cn,文件名为 down.zip。 GET /down.zip HTTP/1.1 Accept: image/gif, image/x-转载 2015-03-29 18:06:39 · 322 阅读 · 0 评论 -
JVM 线程堆栈分析过程详解
在这篇文章里我将教会你如何分析JVM的线程堆栈以及如何从堆栈信息中找出问题的根因。在我看来线程堆栈分析技术是Java EE产品支持工程师所必须掌握的一门技术。在线程堆栈中存储的信息,通常远超出你的想象,我们可以在工作中善加利用这些信息。我的目标是分享我过去十几年来在线程分析中积累的知识和经验。这些知识和经验是在各种版本的JVM以及各厂商的JVM供应商的深入分析中获得的,在这个过程中我也总结出大转载 2015-03-29 18:03:52 · 423 阅读 · 0 评论