
Java学习
woyaoxiazai1985
这个作者很懒,什么都没留下…
展开
-
大话程序猿眼里的高并发
简单理解下高并发:高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请 求,也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(如果你看懂了,这个说法说明是正在奔向人生巅峰的屌丝。高并发会来带的后果服务端:导致站点服务器/DB服务器资源被占满崩...2016-05-20 11:28:56 · 250 阅读 · 0 评论 -
Java大量线程注意点
-Xms64M -Xmx512M -Xss200K -Xms64M:设置JVM初始内存为64M。 -Xmx512M:设置JVM最大可用内存512M。 -Xss200K:设置单个线程的大小为200K。 在程序中-Xss设置太小,可能程序会报错。默认设置是512K。但如果需要大量的线程,就可以将-Xss调小来获得更多的线程。package com.competition....2015-11-20 12:29:36 · 176 阅读 · 0 评论 -
提升网站性能开发的10个技巧
1. 采用反向代理服务器(Reverse Proxy Server)来对应用进行加速和保护其作用主要在以下三方面:负载平衡 – 运行在反向代理服务器上的负载平衡器会在不同的不服务器 间进行传输平衡。透过它,你可以进行无差别的服务器增添。存静态文件 – 对于直接的文件请求,例如图片文件或代码文件,可以直接存储在反向代理服务器然后直接发送给用户,从而可以进行快速访问并为应用服...2015-11-18 09:28:12 · 127 阅读 · 0 评论 -
HTTP长连接和短连接
1. HTTP协议与TCP/IP协议的关系HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可靠,面向连接的特点。 2. 如何理解HTTP协议是无状态的...2015-11-08 21:35:28 · 207 阅读 · 0 评论 -
我5年总结出的14条编程经验
1.如果性能不佳,就在应用层处理,别放在数据库层。排序和分组就是一个例子。在应用层操作性能提升总是比在数据层操作容易。在这点上,无论是服务器端的MySQL数据库还是移动设备端的sqlite 数据库都是如此。让我来给大家解释下:大家会对一些特定的查询应用方法虽然不能减少客户端的响应时间,不过还是可以减缓数据库服务器的压力,这样可以避免 数据库成为所有客户端的瓶颈。2.避免并发运算有时可...2015-10-26 21:41:15 · 146 阅读 · 0 评论 -
10招让你成为杰出的Java程序员
如果你是一个热衷于技术的 Java 程序员, 那么下面的 10 个要点可以让你在众多 Java 开发人员中脱颖而出。 1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 Object Oriented Programming(面向对象编程)这一概念是必须的。没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言的美。光学习 OO 原则的定...2015-03-08 10:53:52 · 331 阅读 · 0 评论 -
Java中getResourceAsStream的用法
1.Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。 2. Class.getClassLoader.get...2015-02-22 16:22:23 · 111 阅读 · 0 评论 -
程序员解决问题的60个策略
根本的指导方针1. 首先写代码的时候最好不要有缺陷。最好的修复方法就是让 bug 胎死腹中。良好的单元测试强制数据库约束使用输入验证框架避免未实现的“else”条件在应用到主程序之前知道如何在孤立的情况下使用 日志2. print 语句。往往额外输出个一两行将有助于隔离问题。3. 切换至详细的日志记录。详细的日志...2015-02-03 09:13:57 · 119 阅读 · 0 评论 -
Java线程的5个使用技巧
Java线程有哪些不太为人所知的技巧与用法? 萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是一些有趣的用法。比如说线程。没错,就是线程。或者确切说是Thread这个类。当我们在构建高可扩展性系统的时候,通常会面临各种各样的并发编程的问题,不过我们现在所要讲的可能会略有不同。 从...2015-01-24 17:31:04 · 110 阅读 · 0 评论 -
改良程序的11技巧
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。 让我们看一些基本的编程技巧: 尽量保持方法简短永远永远不要把同一个变量用于多个不同的目的使用自描述的变量...2015-01-22 10:18:54 · 92 阅读 · 0 评论 -
写好Java代码的30条经验总结
成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的。下面就让我们来看看代码编写的30条建议吧。 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:ThisIsAClassNamethisIsMethodOrFieldName若在定义中出现了常数初始化字符,则大写...2015-01-19 14:42:06 · 87 阅读 · 0 评论 -
Java为什么会引入及如何使用Unsafe
sun.misc.Unsafe至少从2004年Java1.4开始就存在于Java中了。在Java9中,为了提高JVM的可维护性,Unsafe和许多其他的东西一起都被作为内部使用类隐藏起来了。但是究竟是什么取代Unsafe不得而知,个人推测会有不止一样来取代它,那么问题来了,到底为什么要使用Unsafe? 做一些Java语言不允许但是又十分有用的事情 很多低级语言中可用的技巧在Jav...2015-01-18 10:56:21 · 276 阅读 · 0 评论 -
5步避免Java堆空间错误
牢记以下五个步骤可以为你减少很多头痛的问题并且避免Java堆空间错误。 通过计算预期的内存消耗。 检查JVM是否有足够的可用空间。 检查JVM的设置是否正确。 限制节点使用交换空间和内存分页。 设置实例slot数量小于JobTracker web GUI计算的数值。 译者注:slot :slot不是CPU的Core,也不是memory chip,它是一个逻辑...2014-12-20 10:30:04 · 441 阅读 · 0 评论 -
SQL语句中的嵌套SELECT语句
SELECT 语句是SQL语句中最重要的语句,下面就将为大家介绍SQL中的嵌套SELECT 语句,如果您对此有兴趣,不妨一看,相信会对您有所帮助。 嵌套SELECT 语句也叫子查询,形如: SELECT name FROM bbc WHERE region = (SELECT region FROM bbc WHERE name = 'Brazil') 一个 SELECT 语句...2014-12-10 21:20:21 · 873 阅读 · 0 评论 -
Extjs分页使用Java实现数据库数据查询
关于Ext分 页功能的实现。项目用的是js、Ext、servlet。下面贴下代码:var obj = this;var pageSize = 20; //统计结果分页每一页显示数据条数//在这里使用Store来创建一个类似于数据表的结构,因为需要远程获取数据,所以应该使用//HttpProxy类,我是从后台读取的是json数据格式的数据,所以使用JsonReader来解析;...2014-12-07 21:29:18 · 163 阅读 · 0 评论 -
如何使用Java读写系统属性?
如何使用Java读写系统属性? 读:Properties props = System.getProperties();Enumeration prop_names = props.propertyNames();while (prop_names.hasMoreElements()) {String prop_name = (String) prop_names.next...2014-11-25 17:27:47 · 137 阅读 · 0 评论 -
Java list三种遍历方法性能比较
从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码例如以下:package com.hisense.tiger.list;import java.util.ArrayList;import java.util.Iterator...2014-11-21 14:59:04 · 239 阅读 · 0 评论 -
看开源编程高手的11个技巧
如今,非常多的人都想涉足开源的,但不知道从什么地方入手。这里有几种方法可以帮帮忙,即使你缺乏信心,你但仍然能够让你挑起技术大梁。 开源软件改变了计算乃至整个世界,也许你也想为这样一件事做出贡献。但不幸的是,很多人认为参与这样的项目具有很高的门槛。我经常听到人们说,他们很乐意贡献但不能的原因有三个: “我不是一个很优秀的程序员。”“我没有太多的时间投入进去。”“我不知道什么...2014-11-10 09:23:25 · 136 阅读 · 0 评论 -
开发中遇到的java小知识
今天在优化一个功能的时候遇到了instr与substr函数,之前没有接触过这两个函数,但是今天无意中用到,一查才发现,真是实用的一对兄弟啊。 先来说说substr函数,这个函数返回的是字符串的一部分。 substr(string,start,length) 其中string参数为必须参数,要截取的字符串内容。 start为必须参数,为起始的位置,可以为正数也可以为负数,正...2014-10-30 14:44:22 · 152 阅读 · 0 评论 -
避免Java应用中NullPointerException的技巧和最佳实践
1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象。 总是从已知的非空String对象中调用equals()方法。因为equals()方法是对称的,调用a.equals(b)和调用b.equals(a)是完全相同的,这也是为什么程序员对于对象a和b这么不上心。如果调用者是空指针,这种调用可能导致一个空指针异常Object unk...2014-10-22 22:39:25 · 175 阅读 · 0 评论 -
程序员编程的10个实用技巧
1.橡皮鸭调试法 不知道各位有没有这样的经历,当你正在给别人描述问题的时候,突然灵机一动想到了解决方案?这种情况的产生是有科学依据的。高谈阔论能让我们的大脑重新有条理地组织问题。在这种情况下,你的聊天对象就是“橡皮鸭”。团队中的每个人都应该积极主动乐意地成为彼此的“橡皮鸭”。有时候,如果你幸运的话,你的“橡皮鸭”搞不好还能给出有效的建议呢。 2.快速信息反馈 一旦写好代码就要...2014-10-16 13:58:39 · 83 阅读 · 0 评论 -
如何创建并运行java线程
Java线程类也是一个object类,它的实例都继承自java.lang.Thread或其子类。 可以用如下方式用java中创建一个线程: Tread thread = new Thread(); 执行该线程可以调用该线程的start()方法: thread.start(); 在上面的例子中,我们并没有为线程编写运行代码,因此调用该方法后线程就终止了。 ...2014-10-11 07:23:19 · 82 阅读 · 0 评论 -
一位30多的程序员生涯经验总结
1.客户在接触到产品之后,才会真正明白自己的需求。 这是我在我的第一份工作上面学来的。只有当我们给客户展示产品的时候,他们才会意识到哪些是必须的。给出一个功能性原型设计远远比一张长长的文字表格要好。2.只要有充足的时间,所有安全防御系统都将失败。 安全防御现如今是全世界都在关注的大课题、大挑战。我们必须时时刻刻积极完善它,因为黑客只要有一次成功,就可以彻底打败你。 3.安...2014-10-08 14:37:24 · 107 阅读 · 0 评论 -
提高程序员职场价值的10大技巧
开发技巧No. 1:博客 建立自己的博客,每月至少发布一篇文章。做点研究,因为只有自己亲身经历过,才能言之有物,不会听上去像吹牛皮。学会如何写文章,像以前你的老师教的那样:列大纲,描述情节,最后检查语法和错别字。然后,即使再不舍也要大刀阔斧般地简化和缩短文章到一眼就能知道大概意思。 开发技巧No. 2:开源 现在的年轻人可能没有经历过,程序员随时会失业的悲惨境地。但是即使是...2014-10-03 16:14:51 · 109 阅读 · 0 评论 -
Java开发者应该知道的五款错误跟踪工具
Raygun是一款基于Web的错误管理系统,用于跟踪应用程序异常。它支持多种桌面、移动和Web编程语言,包括Java、Scala、.NET、Python、PHP和JavaScript,其主要特点如下:错误分组——同一Bug多次出现会显示在同一个组中;全文搜索——错误组及所有收集到的数据都是可搜索的;查看应用活动——错误组上的每个动作都会展示给所有的团队成员,如状态更新、评论等;...2014-09-29 15:00:51 · 190 阅读 · 0 评论 -
软件工程师面试7大技巧
Top 1 诚实,不要虚张声势 自信地回答问题,如果你不知道,那就坦诚地说“我不知道,但是我认为……”。知之为知之,不知为不知,不要理直气壮地讲述一个错误的答案,这会让面试官怀疑你前面那些正确的答案搞不好也是胡诌的,功亏一篑。虽然这句措辞也不是万金油,但是却能显示你积极思考的能力和永不放弃的态度。对面试官提出的所有问题都要做一番努力,不要一句“我不知道”就轻易打发。 Top 2 ...2014-09-17 16:27:36 · 210 阅读 · 0 评论 -
Java程序员的错
Java程序员是有问题的。我使用Java编程已经有10多年的历史。同时,我还有过大量的使用其它语言开发的经历,比如C#, C, C++, Python, Lua, Objective-C等等,我认为这些经历在对我认识Java程序员的问题上起到了巨大的帮助。很多人说Java是一种很糟糕的编程语言。我不同意。 Java语言有它自己的缺点,但我想,很多时候,当你看到Java在有些地方让人很多人不爽时,...原创 2014-07-29 13:52:05 · 105 阅读 · 0 评论 -
java中的构造块、静态块等说明
最近自己突然觉得做网页好没意思啊,强烈的感觉啊,现在觉得去学习android和ios很好,因为觉得做网页都是那几个框架,一成不变啊,写来写去都是这么做。看来自己在程序这方面做不久啊。 二:先说说静态块: static{ System.out.println("静态块"); } 这是静态块的写法。静态块优先于主方法执行,主类中的静态块优先于类中的静态块执行。静态块...2014-06-24 09:56:43 · 139 阅读 · 0 评论 -
新入行程序员应知的十个秘密
初出茅庐的你带着仍残留墨香的毕业证书踏上工作岗位,马上就被书上没写的规则和各种繁杂的日常事务来了个下马威。这样的故事实在是司空见惯,编程工作也不例外。没有几个学生能 100% 为自己的第一份真正的工作做好准备。如果你不想成为其中之一,请学学以下这 10 项无需手把手指导就能学会的基本技能: 1、版本控制系统(VCS)VCS 也许是计算机课程最大的疏漏。这些课程光记得教如何写代码,...2014-06-15 08:15:17 · 75 阅读 · 0 评论 -
总结一些Java中取绝对路径的方法
在Java开发中,经常需要处理各种路径的时候。如果不掌握一些方法。估计你就会晕菜!爱Java这里归纳一些取Java绝对路径的方法,下面是一些得到classpath和当前类的绝对路径的一些方法。你可能需要使用其中的一些方法来得到你需要的资源的绝对路径。 1.FileTest.class.getResource(””) 得到的是当前类FileTest.class文件的URI...2014-05-27 14:43:56 · 424 阅读 · 0 评论 -
Java定时器的使用
定时器类Timer在java.util包中。使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定指定的任务task在指定的延迟delay后执行。定时器任务类TimerTask是抽象类,继承并重写其run()方法,可实现具体任务。 schedule(TimerTask task, Date time)设定指定任务task在指定时...2014-05-22 14:47:35 · 88 阅读 · 0 评论 -
所有编程皆为 Web 编程
大部分人想去做Web编程的原因是,他们不够聪明,因此也做不了别的事。 他们不懂编译器、并发性、3D或类继承。他们根本不明白我为什么要使用接口或者抽象类。他们不理解虚函数、指针、引用、垃圾回收、终结器、传引用与传值的 区别、C++的虚拟析构函数、或者C#的结构体与类之间的差别。他们对进程也一无所知。更别提瀑布、螺旋、敏捷了!他们从来没看过需求文档,也从来没写过 设计文档;他们从没画过一张UML图,...2014-04-28 11:11:17 · 128 阅读 · 0 评论 -
数据结构之队列的java实现
队列在计算机术语中使用queue,和list(排)其实是一个意思。队列也是一种数据结构,类似于栈,只是与栈相反,在队列中最先插入的数 据也最先被移除,即先进先出(FIFO,First In First Out)。队列可以理解成排队,比如,食堂窗口排的队,越在前面的,越早得到服务而先离开。在银行大厅的排号的机器也许就用了队列这个数据结构。在打印的 时候,有“添加到队列”的选项,队列应用是很广泛的...2014-03-10 09:13:46 · 102 阅读 · 0 评论 -
JAVA之抽象类与接口的区别
抽象类:用abstract修饰的类称为抽象类。 它可以有构造器,但是不能构造对象,抽象类中的构造器,在构造具体子类对象时调用,抽象方法决定抽象类,抽象类中可以没有抽象方法,具体父类型可以作为引用类型的声明;抽象父类型也可以作为引用类型的声明;如果一个具体子类继承抽象类,那么就要实现抽象父类中的所有抽象方法;在子类中重写父类方法时,访问级别要大于等于原有访问级别; 接口:是一种统一的...2014-03-01 08:50:31 · 81 阅读 · 0 评论 -
JAVA程序员应该知道的linux命令
常用命令 1.在compose Bar下可以对多个服务器同时进行操作。选择To All Sessions 2. 查看JAVA进程: ps -ef | grep java ps auxf | grep java 3.杀死JAVA进程: pkill java (在有反串改的时候可以用,杀死所有java进程) kill -9 进程ID ps -ef ...2014-03-01 08:49:57 · 211 阅读 · 0 评论 -
Java byte 位移操作 注意事项
Java对byte 的 + - * / >> >>> << & | ^ (加,减,乘,除,右移,左移,无符号右移,位与,位或,位异或)操作,均会是首先将byte转化为int, 再行运算。这一事实可能导致多种问题: 假设我们想进行如下byte运算: 1111 1000 右移1位,再与0000 0001 或运算,得 0111 1101。 ...2014-02-25 00:57:46 · 193 阅读 · 0 评论 -
Java虚拟机jvm关于内存的设置与调优
4m -Xmx256m Test -Xms是设置内存初始化的大小 -Xmx是设置最大能够使用内存的大小(最好不要超过物理内存大小) 在weblogic中,可以在startweblogic.cmd中对每个domain虚拟内存的大小进行设置,默认的设置是在commEnv.cmd里面。 JVM内存的调优 1. Heap设定与垃圾回收Java Heap分为3个区,Youn...2014-02-03 10:09:45 · 195 阅读 · 0 评论 -
Java大同之类集框架
Java的类集框架可以使程序处理对象的方法标准化,使用迭代方法访问类集可以使对类集的操作效率更加高。被设计成类集框架的拥有以下几种特性: 1、这种框架是高性能的。 2、框架必须允许不同类型的类集以相同的方式和高度互操作的方式工作。 3、类集必须是容易扩展和修改的。 Java API中所用的集合类,都是实现了Collection接口,也就是说框架的顶层是Collection...2013-12-29 10:16:27 · 135 阅读 · 0 评论 -
10 个 Nginx 的安全提示
Nginx是当今最流行的Web服务器之一。它为世界上7%的web流量提供服务而且正在以惊人的速度增长。它是个让人惊奇的服务器,我愿意部署它。下面是一个常见安全陷阱和解决方案的列表,它可以辅助来确保你的Nginx部署是安全的。1. 在配置文件中小心使用"if"。它是重写模块的一部分,不应该在任何地方使用。“if”声明是重写模块评估指令强制性的部分。换个说法,Nginx的配置一般...2013-12-21 17:12:41 · 107 阅读 · 0 评论 -
Java线程同步如何才能排除阻塞
Java线程同步需要我们不断的进行相关知识的学习,下面我们就来看看如何才能更好的在学习中掌握相关的知识讯息,来完善我们自身的编写手段。希望大家有所收获。 Java线程同步的优先级代表该线程的重要程度,当有多个线程同时处于可执行状态并等待获得 CPU 时间时,线程调度系统根据各个线程的优先级来决定给谁分配 CPU 时间,优先级高的线程有更大的机会获得 CPU 时间,优先级低的线程也不是没有机...2013-12-15 20:32:43 · 277 阅读 · 0 评论