Java

深入浅出基于Java的解释器设计模式

一、引子其实没有什么好的例子引入解释器模式,因为它描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中;在实际应用中,我们可能很少碰到去构造一个语言的文法的情况。虽然你几乎用不到这个模式,但是看一看还是能受到一定的启发的。二、定义与结构解释器模式的定义如下:定义语言的文法,并且建立一个解释器来解释该语言中的句子。它属于类的行为模式。这里的语言意思是使用规定格式和语法的代码。在GOF的书中指出:如果一种特定类型的问题发生的频率足够高,那

系统 2019-08-29 22:23:20 2359

Java

Java编程提高性能时需注意的地方

最近的机器内存又爆满了,出了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源和总结一些在java编程中尽可能做到的一些地方1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面第一,控制资源的使用,通过线程同步来控制资源的并发访问第二,控制实例的产生,以

系统 2019-08-29 22:01:06 2359

Java

Java线程:并发协作-死锁

Java线程:并发协作-死锁线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。发生死锁的原因一般是两个对象的锁相互等待造成的。在《Java线程:线程的同步与锁》一文中,简述死锁的概念与简单例子,但是所给的例子是不完整的,这里给出一个完整的例子。/***Java线程:并发协作-死锁**@authorAdministrator2009-11-422:06:13*/publicclassTest{publicstaticv

系统 2019-08-12 09:29:31 2359

Java

java的一些基本知识

对象与基本类型几乎所有Java初学者都被告知,在Java里一切都被视为对象(Object),操纵对象的表示符实际上时对象的一个引用(Reference)。例如Stringstr;//注意!此处创建了一个引用,而非对象str=newString(“Hello”);//这里创建了一个String对象并与str相关联通常用new操作符来创建一个新对象,并存储在堆里面。【注】具体内容可以参看Java堆与栈程序设计中有一系列小的、简单的变量(笔者是这样认为的),将它

系统 2019-08-29 23:07:26 2358

Java

Java多线程面试问题集锦

如果你即将去一家从事大型系统研发的公司进行Java面试,不可避免的会有多线程相关的问题。下面是一些针对初学者或者新手的问题,如果你已经具备良好的基础,那么你可以跳过本文,直接尝试针对进阶水平的Java多线程编程问题及解答。关联链接:Javamulti-threading-1|Javamulti-threading-2问题:进程和线程的区别解答:一个进程对应一个程序的执行,而一个线程则是进程执行过程中的一个单独的执行序列,一个进程可以包含多个线程。线程有时候

系统 2019-08-29 22:02:31 2358

Java

【java多线程与并发库】---传统java多线程<3> .

1、java中用两种线程:1)守护线程守护线程(Daemon)是比较特殊的一种低级别线程,一般被用于在后台为其它线程提供服务。比如当用户编写Word文档时,不断进行拼写检查的线程就是个守护线程,它不会影响用户编辑文件。典型的守护线程例子是JVM中的系统资源自动回收线程,它始终在低级别的状态中运行,不需要占用大量的系统资源,多用于实时监控和管理系统中的可回收资源。可以通过调用方法isDaemon()来判断一个线程是否是守护线程,而将一个用户线程设置为守护线程

系统 2019-08-12 09:29:59 2358

Java

JAVA强制类型转换

object对象转换为String的一些总结--------------------------------------------------------------------------------在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等。下面对这些方

系统 2019-08-12 09:29:33 2358

Java

使用JAVA编写网络通信程序

摘要本文阐述了使用JAVA编程语言对基于客户/服务器模式的应用编写网络通信程序,讨论了SOCKET机制、输入输出流以及程序实现代码。关键词JAVA,网络,SOCKET,APPLET网络上的系统结构多为客户/服务器模式,服务器端负责数据和图像等的存储、维护、管理以及传

系统 2019-08-29 23:28:51 2357

Java

用spring做一个javaMail功能的例子

前言:项目中要做一个发送邮件的功能,在网上搜了一些代码,说的都不是很完善。自己就整理了一个可以运行的项目。需要注意的地方是:如果发送人的邮箱是qq邮箱,那么需要在设置->账户里面把√打上。spring里面的smtp.126.com要配置成smtp.qq.com126邮箱同理。步骤如下:用spring做一个javaMail功能。1、先建一个项目。java项目和web

系统 2019-08-29 22:21:42 2357

Java

* java程序性能优化 Posted on 2010-07-28 16:0

java程序性能优化Postedon2010-07-2816:04chinaifne阅读(2246)评论(0)编辑收藏一、避免在循环条件中使用复杂表达式在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。例子:importjava.util.vector;classcel{voidmethod(vectorvector){for(inti=0;i

系统 2019-08-29 22:21:32 2357

Java

笔者带你剖析Java7.x新特性

前言最近在ITeye上看见一些朋友正在激烈讨论关于Java7.x的一些语法结构,所以笔者有些手痒,特此探寻了7.x(此篇博文笔者使用的是目前最新版本的JDK-7u15)的一些新特性分享给大家。虽然目前很多开发人员至今还在沿用Java4.x(笔者项目至今沿用4.x),但这并不是成为不前进的借口。想了解Java的发展,想探寻Java的未来,那么你务必需要时刻保持一颗永不落后的心。当然笔者此篇博文并不代表官方观点,如果有朋友觉得笔者的话语是妙论,希望指正提出,笔

系统 2019-08-12 09:30:19 2357

Java

java 基础学习之点滴

每个实例拥有一个实例变量;每种类别之下共享一个静态变量。编译器会处理除RuntimeException外的所有Exception。try...catch...finally中,finally无论如何都会被最后执行。即使try&catch内含有return,程序也会在return前先执行finallytry...catch中,如果有多个同父类(除Exception外)的Exception,catchException的顺序从上到下应该是子类->父类。否则父类

系统 2019-08-29 23:03:03 2356

Java

java 变量作用范围(竟然理解错了)丢人 ——JA

publicclassTest{/***@paramargs*/publicstaticvoidmain(String[]args){Stringstr="A";doit(str);System.out.println(str);}publicstaticvoiddoit(Stringstr){str="B";}}这里结果输出A啊,唉,这都错,半路出家和尚啊……doit传进去的参数作用范围只是函数内部,Java是值调用。突然想到,这里的String类型的之

系统 2019-08-29 22:34:41 2356