J2SE
麦嘟学编程
这个作者很懒,什么都没留下…
展开
-
将java项目导出为.exe执行文件
将java项目导出为.exe执行文件需要借助于第三方软件,本文我们选择jar2exe软件。第一步:先安装jar2exe软件,安装直接选择默认步骤即可。第二步:需要原创 2021-05-27 19:55:57 · 3192 阅读 · 17 评论 -
将Java项目导出为jar文件并运行
对于S1的项目,最终演示时,在windows平台演示应该时exe的执行文件。为了最终将项目导出为exe的。首先将其导出为jar文件并执行。本次开发工具使用的是eclipse原创 2021-05-27 19:41:37 · 1700 阅读 · 1 评论 -
JDK8新特性---接口
在jdk1.8之前,接口中只能包含常量和抽象方法,不能有实现方法存在。那么在jdk1.8中打破了此规定,加入了新的方法: 1.可以定义默认的方法 2.可以定义静态方法1.默认方法:使用default关键字修饰 default返回值类型函数名(){ }可以被实现类继承,同时在实现类中可以被重写(特别是:类是可以实现你多接口的,如果每个接口...原创 2019-11-03 18:37:35 · 748 阅读 · 0 评论 -
浅谈哈希表
今晚讲解java.util包中一些常用类,集合和键值对Map时,说到hashMap和hashTable.跟学生聊啦下哈希表,最后参考其他文档做下总结。一般都是如果网上有详细的总结就没必要重新写一遍。直接参考,哈哈哈1.哈希表的定义 这里先说一下哈希表的定义:哈希表是一种根据关键码去寻找值的数据映射结构,该结构通过把关键码映射的位置去寻找存放值的地方,说起来可能感觉有点复杂,我想我举个例子你就会明...原创 2018-04-21 21:07:03 · 167 阅读 · 0 评论 -
Thread.setDaemon详解
java中线程分为两种类型:用户线程和守护线程。通过Thread.setDaemon(false)设置为用户线程;通过Thread.setDaemon(true)设置为守护线程。如果不设置次属性,默认为用户线程。用户线程和守护线程的区别:1. 主线程结束后用户线程还会继续运行,JVM存活;主线程结束后守护线程和JVM的状态又下面第2条确定。2.如果没有用户线程,都是守护线程,那么JVM结束(随之而...转载 2018-05-08 09:02:53 · 1171 阅读 · 0 评论 -
Java 内存区域和GC机制
Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这...转载 2018-09-23 22:08:46 · 172 阅读 · 0 评论 -
JDK8新特性:接口的静态方法和默认方法
在jdk8之前,interface之中可以定义变量和方法,变量必须是public、static、final的,方法必须是public、abstract的。由于这些修饰符都是默认的,所以在JDK8之前,下面的写法都是等价的。public interface JDK8BeforeInterface { public static final int field1 = 0; in...转载 2018-10-25 20:16:35 · 237 阅读 · 0 评论 -
Java总结篇系列:Java泛型
一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi"); ...转载 2018-11-04 21:38:51 · 152 阅读 · 0 评论 -
浮点数在计算机中存储方式
C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范的,float遵从的是IEEE R32.24 ,而dou...转载 2018-11-16 22:56:35 · 2488 阅读 · 1 评论 -
JAVA版的五子棋
未来丰富C语言案例库,最近用C语言写了下五子棋,然后今天将其改写为JAVA版本,此版本未用面向对象解决,后期再进行优化,仅供小伙伴们学习。C语言版本的目前不上传,等讲解后再上传。package com.yc.wuziqi;import java.util.Scanner;public class Wuziqi { static String play01; stati...原创 2019-03-07 20:54:13 · 254 阅读 · 1 评论 -
java的序列化和反序列化
每日一讲中都会安排学员来讲解此知识点,但是总有部分同学还是不能理解,今天简单的描述下。1、什么是序列化与反序列化? 序列化:指把堆内存中的 Java 对象数据,通过某种方式把对象存储到磁盘文件中或者传递给其他网络节点(在网络上传输)。这个过程称为序列化。通俗来说就是将数据结构或对象转换成二进制串的过程 反序列化:把磁盘文件中的对象数据或者把网络节点上的对象数据,恢复成Java对象模...原创 2019-03-24 16:09:46 · 265 阅读 · 0 评论 -
Java 异常进阶
在使用Java编写应用的时候,我们常常需要通过第三方类库来帮助我们完成所需要的功能。有时候这些类库所提供的很多API都通过throws声明了它们所可能抛出的异常。但是在查看这些API的文档时,我们却没有办法找到有关这些异常的详尽解释。在这种情况下,我们不能简单地忽略这些由throws所声明的异常:public void shouldNotThrowCheckedException()转载 2018-01-25 14:31:24 · 174 阅读 · 0 评论 -
JAVA中的集合
在使用Java的时候,我们都会遇到使用集合(Collection)的时候,但是Java API提供了多种集合的实现。总的说来,Java API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下:CollectionCollectionCollectionCollectionCollectionCollectionVector原创 2016-09-28 14:40:57 · 994 阅读 · 0 评论 -
Java代码重构
Java代码的重构模式主要有三种:重命名方法重构模式、引入解释性变量重构模式、以查询取代临时变量重构模式重命名方法重构模式建议执行如下的步骤来完成:1.建立一个具有新名称的方法2.将旧方法的方法体复制进新方法3.讲旧方法的方法体修改为调用新方法4.将所有引用旧方法的地方修改为引用新方法5.删除旧方法引入解释性变量重构模式步骤相对简原创 2016-09-27 17:09:18 · 632 阅读 · 0 评论 -
Java内存管理原理及内存区域详解(转)
一、概述Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干不同的数据区域,这些区域都有各自的用途以及创建和销毁的时间。Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如下图所示:下面就每一个区域进行阐述。二、运行时数据区域程序计数器程序计数器,可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器转载 2016-09-28 14:13:12 · 334 阅读 · 0 评论 -
Java语法----Java中equals和==的区别(转载)
平时在学Android和Java语言的时候,总是碰到“equals”和“==”这两个字符,老感觉差不多;其实还是有一些区别的,今天干脆把它们彻底弄清楚。 一、java当中的数据类型和“==”的含义: 基本数据类型(也称原始数据类型) :byte,short,char,int,long,float,double,boolean。他们之间的比较,应用双等号(==),比较转载 2016-09-28 14:16:25 · 330 阅读 · 0 评论 -
SWT中的常用组件(转载)
SWT类所代表的事件常量: 事件类型常量说明SWT.Activate当激活窗口时SWT.Arm菜单项被选中之前SWT.Close关闭窗口时SWT.Collapse折叠树的节点时转载 2016-09-28 14:26:15 · 1151 阅读 · 0 评论 -
java中的各种数据类型在内存中存储的方式 (转载)
1.Java是如何管理内存的java的内存管理就是对象的分配和释放问题。(其中包括两部分)分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重了JVM的工作。因为,GC为了能够正确释放对象,GC必须监控转载 2016-09-28 14:28:23 · 298 阅读 · 0 评论 -
java nio详解1
在jdk1.4版本中引用java.nio.*包中的新io类库,其目的在于提高速度。实际上,旧的I/O包中已经使用nio重新实现过,以便充分利用这种速度提高,因此,我们即便不显示用nio编写代码,也能从中受益。 Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而N原创 2016-09-28 14:30:54 · 383 阅读 · 0 评论 -
Vector分析
其实ArrayList与Vector存储方式相同,底层都是使用对象数组进行存储,但是 ArrayList查询优于Vector,但是ArrayList是非线程安全的,如果考虑多线程时,会选择使用Vector存储。 看一段案例: 使用了List接口中提供的方法,但除此只要它还自己提供了一些方法来实现元素的添加、删除等操作。咱们现在一起来阅读一下它的源码:原创 2016-09-28 14:31:32 · 380 阅读 · 0 评论 -
SWT表格的基本操作
以下代码主要是通过复选框选择多行记录; 全行选中实现多行选择; 设置可编辑的单元格。原创 2016-09-28 14:35:39 · 3043 阅读 · 0 评论 -
log4j.properties 详解与配置步骤 (转)
一、log4j.properties 的使用详解1.输出级别的种类ERROR、WARN、INFO、DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失INFO 为一般要显示的信息,比如登录登出DEBUG 为程序的调试信息2.配置日志信息输出目的地log4j.appender.appenderN转载 2016-09-28 14:36:34 · 1167 阅读 · 0 评论 -
SWT的SHELL样式
Shell dlgShell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); 所谓模态对话框,就是指除非采取有效的关闭手段,用户的鼠标焦点或者输入光标将一直停留在其上的对话框。非模态对话框则不会强制此种特性,用户可以在当前对话框以及其他窗口间进行切换。 SWT.BORDER //建立一个有边框但没有标题栏的原创 2016-09-28 14:39:28 · 2681 阅读 · 0 评论 -
10个使用Java最广泛的现实领域
如果你是一个初学者,刚刚开始学习Java,你可能会想Java有什么用呢?除了Minecraft貌似也看不到其他用Java写的游戏,像Adobe Acrobat和Microsoft Office等桌面工具也不是用Java写的,甚至Linux和Windows操作系统也和Java无关,那么到底什么时候才需要用Java呢?毋需纠结,很多程序员都有这个困惑,或在学Java之前或已经到了语转载 2016-09-27 17:01:06 · 1972 阅读 · 1 评论