![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 54
我是鱼
我是一条来自北方的鱼
在这无垠的网络海洋中
自由的徜徉与探索
展开
-
JAVA的多态
数据抽象、继承和多态是面向对象程序设计语言的三大特性。多态,我觉得它的作用就是用来将接口和实现分离开,改善代码的组织结构,增强代码的可读性。在某些很简单的情况下,或许我们不使用多态也能开发出满足我们需要的程序,但大多数情况,如果没有多态,就会觉得代码极其难以维护。 在Java中,谈论多态就是在讨论方法调用的绑定,绑定就是将一个方法调用同一个方法主体关联起来。在C语言中,方法(在C中称为函数原创 2012-03-04 10:23:05 · 433 阅读 · 0 评论 -
Java编码优化10技巧
摘要:作者Veera Sundar在清理代码工作时发现一些常见的违规编码,因此,Veera Sundar把针对常见的一些违规编码总结成一份列表,以便帮助Java爱好者提高代码的质量和可维护性。最近,我给Java项目做了一次代码清理工作。经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错误)重复出现在代码中。因此,我把常见的这些违规编码总结成一份列表,分享给大家以帮助Ja转载 2012-09-14 10:22:49 · 620 阅读 · 0 评论 -
Java内存泄露原因详解
一、Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行监控,Java会使用有向图原创 2012-08-06 15:59:11 · 744 阅读 · 0 评论 -
AOP详解
引子: AOP(面向方面编程:Aspect Oriented Programing)和IoC一样是Spring容器的内核,声明式事务的功能在此基础上开花结果。但是AOP和OOP差别较大,要很好地理解这个概念,做到心领神会还是不容易的,不过相信看完帖子,你就不再迷惑了。 编程语言最终极的目标就是能以更自然、更灵活的方式模拟世界,从原始机器语言到过程语言再到面向对象的语言,编程语言一步步地原创 2012-07-19 12:53:14 · 1269 阅读 · 0 评论 -
使用Hibernate元数据构建表单校验功能
表单数据的检验是应用程序必不可少的组成部分,通常来讲,表单数据的校验分为前台校验和后台校验两部分,前台校验使用JS脚本在提交数据前进行校验,后台校验在数据提交后进行校验。 出于安全性的考虑,后台校验是必不可少的,当因为某种原因前台校验失效的情况下,由于有后台校验的存在,仍能保证提交数据的合法性和有效性。 后台校验有许多种方法,有基于配置文件的校验,有基于注释的校原创 2012-07-18 13:42:03 · 2006 阅读 · 0 评论 -
Java正则表达式入门
众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。 大 家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配原创 2012-08-03 16:36:00 · 370 阅读 · 0 评论 -
JNDI详解
JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。那么,JNDI到底起什么作用?要了解JNDI的作用,我们可以从“如果不用JNDI我们怎样做?用了JNDI后我们又将怎样做?”这个问题来探讨。原创 2012-07-18 15:06:48 · 2551 阅读 · 0 评论 -
Java内存结构
程序计数器:作用可以看成当前线程所执行的字节码的行号指示器。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间的计数器互不影响,独立存储。---线程私有虚拟机栈:描述JAVA方法执行的内存模型,每个方法被执行的时候都会同时创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口灯信息。每个方法被调用直至执行完成的过程,就对应着一个栈帧在原创 2012-07-18 14:02:41 · 473 阅读 · 0 评论 -
Java中两种排序源码:冒泡排序和选择排序法
先都按从小到大排序:1.冒泡排序源码: Java代码float[] scores = {0.0f,2.0f,3.0f,1.0f}; //定义临时变量 float temp = 0.0f; //进行冒泡排序:i控制比较多少轮,j控制每轮比较多少次原创 2012-07-18 13:40:15 · 744 阅读 · 0 评论 -
程序员究竟该如何提高效率
肯定有人跟你说过这样的话“你有看电视的那么长时间,都可以用来写一本书了”,不可否认写书肯定比看电视更好的利用了时间,但是这个结论的成立需要一个假设:"时间是可互换的",也就是说看电视的时间可以轻松的用来写书。但是很遗憾,事实并非如此。 不同的时间有不同的质量等级。如果我在走向地铁站的路上发现自己的笔记本忘带了,我就很难集中注意力写文章。同样,当你不停的被打断的时候,你 也很难集中注意力。翻译 2012-07-18 13:37:06 · 841 阅读 · 0 评论 -
Java 序列化
在做继承时,Eclipse经常会报The serializable class *** does not declare a static final serialVersionUID field of type long这个警告,今天我就从网上载录了这部分说明.方便自己记忆,也方便大家参考. 序列化是什么: 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再原创 2012-08-01 16:51:23 · 654 阅读 · 0 评论 -
如何有效的做Code Review
如何有效的做Code Review什么是Code Review?Code Review代码评审是指在软件开发过程中,通过对源代码进行系统性检查的过程。通常的目的是查找各种缺陷,包括代码缺陷、功能实现问题、编码合理性、性能优化等;保证软件总体质量和提高开发者自身水平。 Code Review是轻量级代码评审,相对于正式代码评审,轻量级代码评审所需要的各种成本要明显低得多,如果转载 2012-07-18 13:38:25 · 1196 阅读 · 0 评论 -
提升Java程序性能的经验原则和方法
最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于原创 2012-07-17 14:26:27 · 431 阅读 · 0 评论 -
说说Java线程池
一、线程池的作用线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;如果线程少了会浪费系统资源,多了又会造成系统拥挤效率不高。用线程池控制线程数量,使得其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有任务等待进程,则线程池中的线程处于等待。二、为什么要用线程池减少了创建和销毁原创 2012-07-17 14:42:25 · 791 阅读 · 0 评论 -
WORA预言的云计算未来
导语:日前,Smartronix的战略计划主任Gaurav Pal在GigaOM上发布了一篇文章称,由于云计算和Java的发展过程相似,我们可以通过对Java和WORA的进化分析,对未来几年内各种云计算模式的演变进行分析。以下为文章全文:美国SUN(Stanford University Network)公司的口号:Write Once, Run Anywhere(一次编写转载 2012-07-17 08:42:41 · 1270 阅读 · 0 评论 -
五大基于JVM的脚本语言
还记得以前本站的一篇文章《如何在Google App Engine上运行PHP》吗,其实那是借用 Quercus, 一个 100% 的用Java 实现的一个 PHP 引擎。今天,这样的东西太多了,能运行在Java的虚拟机JVM上的程序意味着有天然的跨平台性,现在JVM并不单单只能运行Java程序,在JVM上出现了若干使用Java虚拟机运行的脚本程序,比如什么PHP, Python, Ruby等转载 2012-07-12 17:23:42 · 821 阅读 · 0 评论 -
四个有害的Java编码习惯
程序中的编码风格让我们的编程工作变得轻松,特别是程序维护员,他们要经常阅读其他人编写的程序编码,这一点尤其突出。编码规范从根本上解决了程序维护员的难题;规范的编码阅读和理解起来更容易,也可以快速的不费力气的借鉴别人的编码。对将来维护你编码的人来说,你的编码越优化,他们就越喜欢你的编码,理解起来也就越快。 同样,高水平的编码风格(例如固定的封闭结构)目的在于改善设计和使编码更易于理解。事实原创 2012-04-08 05:06:29 · 1866 阅读 · 0 评论 -
Java方法的动态绑定与静态绑定
首先是方法的参数是父类对象,传入子类对象是否可行然后引出Parent p = new Children();这句代码不是很理解,google的过程中引出向上转型要理解向上转型又引出了动态绑定从动态绑定又引出了静态绑定 程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定原创 2012-10-17 15:41:33 · 763 阅读 · 0 评论