Java的时间空间复杂度详解
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java变量和类变量的访问 ,更多Java专业知识,广州疯狂java培训官网与你分享; 时间复杂度 时间复杂度简单的理解就是执行语句的条数。如果有循环和递归,则忽略简单语句,直接算循环和递归的语句执行次数。 比如: [java] int x = 1;//时间复杂度为O(1) for(int i=0; i System.out.println(i); }//时间复杂度为O(n) 具体例子: 1、O(1) [java] int x = 1; 2...
阅读全文
Java学习笔记之变量和类变量的访问哲学
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java变量和类变量的访问 ,更多Java专业知识,广州疯狂java培训官网与你分享; 一个类中的方法一种叫实例方法,另外一种叫类方法(静态方法),现总结如下 谁可以访问的问题: 一、类方法 可以调用类方法的有:类名。类方法,对象名。类方法 public class MethodDemo { public static void main(String[] args) { MethodDemo m=new MethodDemo(); m.f(2);...
阅读全文
求最大公约数-辗转相除法
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java 实现顺序结构线性列表,更多Java专业知识,广州疯狂java培训官网与你分享; 比较好用的是辗转相除法。 比如:49和91 a b temp 49 % 91 = 49 91 % 49 = 42 49 % 42 = 7 42 % 7 = 0 所以最大公约数就是7. public class T { public static void main(String[] args) { int gcd = gcd(91, 49); Syste...
阅读全文
java中怎么遍历HashMap
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java 实现顺序结构线性列表,更多Java专业知识,广州疯狂java培训官网与你分享; 一. HashMap staff = new HashMap(); 添加关键字值对,自己写遍历 Set entries = staff.entrySet(); Iterator iter = entries.iterator(); while(iter.hasNext()) { Map.Entry entry = (Map.Entry)iter.next(...
阅读全文
Java编程时如何节省内存,效率高
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要浅谈Java编程时如何节省内存,效率高,更多Java专业知识,广州疯狂java培训官网与你分享; 1、别用new Boolean()。 在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与get都是通过Boolean封装传递的,大部分ORM也是用Boolean来封装boolean类型的,比如: 以下是引用片段: ps.setBoolean("isClosed",new Boolean(true)); ps.setBoole
阅读全文
Java入门需掌握的30个基本概念
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java入门需掌握的30个基本概念,更多Java专业知识,广州疯狂java培训官网与你分享; 核心提示:Java入门需掌握的30个基本概念,掌握了这些概念对于学习Java大大有利! (1)Easy:Java的语法比C++的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb。 (2)分布式:Java带有很强大的TCP/IP协议族的例程库,Java应用程序能够通...
阅读全文
Java各种获取系统当前时间方法和格式
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java各种获取系统当前时间方法和格式,更多Java专业知识,广州疯狂java培训官网与你分享;如何利用JAVA快速准确提取当前系统时间方法和格式,我们先来看实现代码: 01./** 02. * 返回当前日期时间字符串 03. * 默认格式:yyyy-mm-dd hh:mm:ss 04. * 05. * @return String 返回当前字符串型日期时间 06. */ 07. public static String getCurrentTime() { 08.
阅读全文
Java 实现顺序结构线性列表
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java 实现顺序结构线性列表,更多Java专业知识,广州疯狂java培训官网与你分享;package com.ncu.list;/**** 顺序结构线性列表** @author liuhao**/public class SquenceList { private int size; // 线性表的长度 private Object[] listArray; private int currenSize = 0; // 当前线性表中的数据 public Squenc
阅读全文
Java编程中异常处理的优劣之道
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java编程中异常处理的优劣之道,更多Java专业知识,广州疯狂java培训官网与你分享; Java编程中的异常处理是一个很常见的话题了,几乎任何一门介绍性的Java课程都会提到异常处理。不过,我认为很多人其实并没有真正掌握正确处理异常情况的方法和策略,最多也就不过了解个大概,知道点概念。本文就对三种不同程度和质量的Java异常处理进行了讨论,所阐述的处理异常的方式按手法的高下分为: 好,不好和恶劣三种。 同时向你提供了一些解决这些问题的技巧。 首先解释一...
阅读全文
详解reflect Java的反射机制
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要详解reflect Java的反射机制,更多Java专业知识,广州疯狂java培训官网与你分享; 一、类型识别的两种方式: 首先了解一下“运行时类型识别”(Run-time Type Identification, RTTI)主要有两种方式, 第一种:是我们在一次编译时和运行时已经知道了所有的类型。 第二种:是我们在整项目分模块的编译,在运行时可以对新加入的模块进行动态的编译。(在动态编译模块之前还不知道被编译code的类型。) 这就是下面要接受的,功能强大的...
阅读全文
Java技术:XML配置文件的读取处理
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述XML配置文件的读取处理,更多Java专业知识,广州疯狂java培训官网与你分享; 核心提示:XML作为电子商务中数据交换,已经有其不可替代的作用,但是在平时系统开发中,我们不一定都用到数据交换。 Java和XML是黄金组合,网上已经有很多文章介绍,XML作为电子商务中数据交换,已经有其不可替代的作用,但是在平时系统开发中,我们不一定都用到数据交换,是不是无法使用XML了? 当然不是,现在已经有一个新趋势,java程序的配置文件都开始使用XML格式,以前是使...
阅读全文
Java高质量代码之面向对象
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java高质量代码之面向对象,更多Java专业知识,广州疯狂java培训官网与你分享;1.在接口中不要存在实现代码 接口中存在实现?接口中应该只能声明抽象方法,常量,继承其他接口,但抽象方法当中不能存在实现吧?请观看一下的一段代码Java代码public interface TestInterface { public static final Test test = new Test() { public void doSomething() { System.o.
阅读全文
Java 创建线程的三种方法比较
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java 创建线程的三种方法比较, 更多Java专业知识,广州疯狂java培训官网与你分享; 编写多线程程序是为了实现多任务的并发执行,从而能够更好地与用户交互。一般有三种方法,Thread,Runnable,Callable. Runnable和Callable的区别是, (1)Callable规定的方法是call(),Runnable规定的方法是run()。 (2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值得 (3)c...
阅读全文
Java里的时间类以及函数
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java里的时间类以及函数,更多Java专业知识,广州疯狂java培训官网与你分享; 1.Java计算某一月份的最大天数 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 int day=time.getActualMaximum(Cale...
阅读全文
Java多态性Overload和Override的区别
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java 语言实现的随机数生成算法,更多Java专业知识,广州疯狂java培训官网与你分享; java中的继承,方法覆盖(重写)override与方法的重载overload的区别 方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。 重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被...
阅读全文
Java学习笔记之内部类
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java 语言实现的随机数生成算法,更多Java专业知识,广州疯狂java培训官网与你分享; 内部类概述 内部类是将一个类定义在另一个类里面,对里面那个类就成为内部类(内部类,嵌套类)。 当描述事物时,事物的内部还有事物,该事物用内部类来描述,因为内部事物在使用外部事物的内容 访问特点 内部类可以直接访问外部类的所有成员,包括私有,之所以可以直接访问,是因为内部类持有外部类对象的引用,Outer.this而外部类想要访问内部类必须创建对象或者使用类名引用...
阅读全文
用java实现复数的加减乘除运算
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java 语言实现的随机数生成算法,更多Java专业知识,广州疯狂java培训官网与你分享; 设计一个类Complex,用于封装对复数的下列操作: (1)一个带参数的构造函数,用于初始化复数成员 (2)一个不带参数的构造函数,调用代参数的构造函数完成对复数成员的初始化。 (3)实现两个复数的加法,减法的静态方法和实例方法。 (4)以复数的标准形式:x+iy 输出此复数 (5) 写两个函数,分别获得复数的实部getReal(),getImage()和虚部...
阅读全文
Java 语言实现的随机数生成算法
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java 语言实现的随机数生成算法,更多Java专业知识,广州疯狂java培训官网与你分享; java 语言实现的随机数生成算法 package MyMath; import java.util.Random; //生成随机数 调用的是系统的方法 public class random { public static void main(String args[]) { Random random=new Random(5); for(int i...
阅读全文
Java追加文件内容的三种方法
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java 语言实现的随机数生成算法,更多Java专业知识,广州疯狂java培训官网与你分享; Java代码 /** * 描述:追加内容到文件末尾 * @author Roger Federer * */ public static void main(String[] args) throws IOException { File fileOrFilename = new File("d://text.txt"); // 方法 一 //追加文件..
阅读全文
3种方法关闭Java线程
摘要:广州疯狂java专注于java培训,通过科学标准的java培训,让零基础学员快速成长为高端java开发工程师,迅速成为企业最急需技术型人才,成功进入IT名企。 Java线程关闭,总的来说有3种: 1.使用状态位,这个简单,就不多说了: public class Task extends Thread { private volatile boolean flag= true; public void stopTask() { flag = false; } @Override public void run() { while(flag){ /* do your no-b...
阅读全文
同步Java之重绘
摘要:广州疯狂java专注于java培训,通过科学标准的java培训,让零基础学员快速成长为高端java开发工程师,迅速成为企业最急需技术型人才,成功进入IT名企。 重绘,顾名思义,是要将我们所绘制过的图形重新绘制一遍以显示到屏幕上,上一篇说的是用数组来保存形状,那是否还有别的方法做到重绘呢? 试想,我们是不是可以把绘制的图形保存成一张图片,然后将它显示出来。这就要用到一个Robot方法,来捕捉我们屏幕上的每个像素点。 我们做画板时继承的是JFrame类,那如果继续继承窗体这一类,在截屏时就会截到窗体的边框,再打印出来后就会把整个窗体都显示在画布上。所以为了正确的截屏,我们让画板继承JPa...
阅读全文
Java基础之装饰设计模式
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java基础之装饰设计模式,更多Java专业知识,广州疯狂java培训官网与你分享; 一、什么是装饰设计模式 当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能,那么自定义的类成为装饰类。 装饰类通常会通过构造方法,传递进来一个需要装饰的对象,然后基于这个对象,提供更强大的方法。 下面是装饰设计模式的一个例子,自己写的MyBufferedReader,并提供了myReadLine方法,IO包中类BufferedRe...
阅读全文
java使用序列化实现深克隆
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java使用序列化实现深克隆,更多Java专业知识,广州疯狂java培训官网与你分享; 序列化实现深克隆 public static Object deepClone(Object source) { ObjectOutputStream oos = null; ObjectInputStream ois = null; File file = null; try { FileOutputStream fos = new FileOutputStre...
阅读全文
使用java读写properties文件属性
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述使用java读写properties文件属性,更多Java专业知识,广州疯狂java培训官网与你分享; 自己定义一个属性文件:例如prop.properties baseFilePath=D\:/kuanter/resource tesx=abcd 我们要做的第一步就是要将文件读取到Properties类对象中,由于load有一个参数是InputStream,所以我们可以用 InputStream的子类FileInputStream将属性文件读取到Prop...
阅读全文
如何创建不可变的Java类或对象
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述如何创建不可变的Java类或对象,更多Java专业知识,广州疯狂java培训官网与你分享; immutable Objects就是那些一旦被创建,它们的状态就不能被改变的Objects,每次对他们的改变都是产生了新的immutable的对象,而mutable Objects就是那些创建后,状态可以被改变的Objects. 举个例子:String和StringBuilder,String是immutable的,每次对于String对象的修改都将产生一个新的Str...
阅读全文
Java动态代理
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java动态代理,更多Java专业知识,广州疯狂java培训官网与你分享; 我们来分析一下代理中的静态代理与动态代理: 假设这样一种情形:一个接口UserDaoIfc(分别有增删改查四个方法),实现类UserDao,因为要加上日志功能,所以又有一个实现类LogProxyUserDao,这种做法就是静态代理,实现代码如下: Java代码 //接口UserDaoIfc package test.dynamic_proxy; public interface...
阅读全文
Java序列化和克隆
摘要:在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java序列化和克隆,更多Java专业知识,广州疯狂java培训官网与你分享; 序列化 Java 序列化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 把Jav...
阅读全文