Java语言程序设计
文章平均质量分 89
zollty
这个作者很懒,什么都没留下…
展开
-
JVM基础及结构
一、初识JVM本章讲述JVM概念、发展历史等。1、虚拟机(Virtual Machine)概念JRE是由Java API和JVM组成的。JVM的主要作用是通过Class Loader来加载Java程序,并且按照Java API来执行加载的程序。虚拟机是通过软件的方式来模拟实现的机器(比如说计算机),它可以像物理机一样运行程序。设计虚拟机的初衷是让Java能够通过它来实现WORA(Write Once Run Anywhere 一次编译,到处运行),尽管这个目标现在已经......原创 2021-12-31 23:17:15 · 210 阅读 · 0 评论 -
Java程序设计之——代码耦合性与包的结构
问题和分析: 如下,一种 常见的 包结构: |--x.y.service -------存放service接口(interface) |--x.y.service.impl -------存放service接口的实现类这种设计,从代码结构上来说,是下层(impl层)的代码 依赖于上层(service层)的代码,这样有个好处:代码耦原创 2016-12-31 21:23:10 · 2700 阅读 · 0 评论 -
Java多线程设计
在我开发的报表引擎中 ,线程的运用颇多,而且是项目的核心。从最开始的线程设计,到目前为止的设计,有了很大的改进。一、关于Thread和Runnable的选择 我们知道用Runnable相对于用Thread有两个优势:1. 避免继承的局限,采用Runnable接口的方式,不占用extends位置。2. 适合于资源的共享,多个Thread可以共用一个Runnable对象。原创 2016-12-30 16:45:13 · 1466 阅读 · 0 评论 -
一些Java程序设计的原则和建议
在写方法(函数)的过程中,总结了如下原则:【问题1】、有些方法,内容都差不多,只是参数的个数不一样。此时,到底是写多个方法呢,还是写一个方法涵盖所有功能(根据传入的标识去执行不同的步骤)。A、写多个方法,每个方法参数不同优点:每个方法执行一件事情,过程清晰明了,调用也简单。缺点:多个方法,有很多代码是冗余的,而且要改起来很麻烦。B、写一个方法,涵盖所有参数原创 2013-09-04 09:26:16 · 979 阅读 · 0 评论 -
Java理论知识和编程问题总结
1、class.getResource 和 class.getClassLoader().getResource的区别它们的区别在于路径上的区别:Class.getResource(String path) path不以 '/' 开头时,默认是从此类所在的包下取资源; path 以 '/' 开头时,则是从ClassPath根下获取;Class原创 2016-12-30 16:35:48 · 709 阅读 · 0 评论 -
包与类的命名 - service tool util 区别
包与类的命名和定位时,service tool util 常常搞混淆,在此分析一下它们的定位:名称特点与定位独立性方法和类的属性util通用的、与业务无关的,可以独立出来,可供其他项目使用不调用任何业务相关的类 方法通常是public static的,一般无类的属性,如果有,也是public static的tool与某些业务有关原创 2013-08-20 10:09:48 · 7976 阅读 · 1 评论 -
异常处理最佳实践
一、异常的分类常规分类: 1、运行时异常(RuntimeException); 2、编译时异常(CheckedException)用途分类: 1、打断(终止)程序继续往下运行; 2、打断程序继续往下运行,并将异常原因和信息送往上层。特点分类: 1、可以获得异常的原因; 2、可以获得异常的代号; 3、可原创 2015-09-13 21:04:10 · 1299 阅读 · 0 评论 -
Java内存模型与延迟实例化-关于DCL
(本篇文章部分翻译,最后总结)What is DCL?什么是DCL?The DCL idiom was designed to support lazy initialization(DCL是一种延迟实例化的编程技巧), which occurs when a class defers initialization of an owned object until it翻译 2015-09-13 21:07:26 · 1169 阅读 · 0 评论 -
巧妙地解决Log4j文件重命名失败的问题
报错信息:Failed to rename [/opt/proj.log] to [/opt/proj.log.2014-03-20].这个算是log4j.DailyRollingFileAppender的一个BUG。文件重命名失败Java进行了其他的读写流之类的操作,然后重命名文件,则操作失败。原创 2014-06-06 15:06:03 · 9187 阅读 · 2 评论 -
Java java.lang.ExceptionInInitializerError 错误解决方案
引起 java.lang.ExceptionInInitializerError 错误的原因是:在类的初始化时,出错。也就是说,在加载类时,执行static的属性、方法块时,出错了。比如public class AA { private static AA aa = new AA(); private AA(){//构造方法 init(); } ...原创 2013-09-04 09:33:06 · 56615 阅读 · 5 评论 -
程序设计之 同步静态方法和单例模式的选择
一、问题的引出目的:设计一个加密的工具类。写法一:【单例模式】public class CipherUtils { private List key; private static CipherUtils instance; private CipherUtils(String... args){ // TODO 比较复杂的初始化KE原创 2013-09-04 09:30:05 · 3220 阅读 · 1 评论 -
理解synchronized对象锁
深入Java虚拟机去理解:在java虚拟机中,每个对象和类在逻辑上都是和一个监视器相关联的。 对于对象来说,相关联的监视器保护对象的实例变量。 对于类来说,监视器保护类的类变量。 (如果一个对象没有实例变量,或者一个类没有变量,相关联的监视器就什么也不监视。) 为了实现监视器的排他性监视能力,java虚拟机为每一个对象和类都关联一个锁。代表任何时候只允许一个线程原创 2013-04-18 20:26:31 · 1351 阅读 · 0 评论 -
关于java中的try-catch-finally语句和return
第一:return语句并不是函数的最终出口,如果有finally语句,这在return之后还会执行finally(return的值会暂存在栈里面,等待finally执行后再返回)第二:finally里面不建议放return语句,根据需要,return语句可以放在try和catch里面和函数的最后。可行的做法有四:1.return语句只在函数最后出现一次。2.return语句仅在原创 2012-08-20 01:11:48 · 16843 阅读 · 2 评论 -
Swing 经验总结
1. JFrame对象一般可以直接向里面添加数据,但是在设置背景颜色时得用:Container f = new JFrame(“test”).getContentPane();2. pack()是设置窗体大小自适应其内组件,setSize()为设置其显示的大小。3. 默认关闭窗体JFrame时,是隐藏。要想真退出。请加入setDefaultCloseOperation(JFrame转载 2011-10-08 14:29:41 · 1100 阅读 · 0 评论 -
java 如何让程序窗口随屏幕大小改变
这个问题一直困扰我很长时间了,虽然工作了一段时间,但感觉连这个问题都解决不好的话,实在对不起自己。今天我终于抽出时间,好好网上找了下资料,然后写了个简单的记事本程序,感觉是我想要的结果。所以在这里把程序帖出来,希望能对学子们有帮助。package com.chapter2;import java.awt.Dimension;import java.awt.Toolkit;转载 2011-10-08 14:27:35 · 15005 阅读 · 1 评论 -
面向对象JAVA多态性
数据抽象、继承和多态是面向对象程序设计语言的三大特性。多态,我觉得它的作用就是用来将接口和实现分离开,改善代码的组织结构,增强代码的可读性。在某些很简单的情况下,或许我们不使用多态也能开发出满足我们需要的程序,但大多数情况,如果没有多态,就会觉得代码极其难以维护。 在Java中,谈论多态就是在讨论方法调用的绑定,绑定就是将一个方法调用同一个方法主体关联起来。在C语言中,方法(在C中称为函数原创 2011-12-29 12:21:40 · 6577 阅读 · 0 评论