
java基础学习
文章平均质量分 67
学习javase基础
留意基础里给我们的坑
李灵晖
正走在技术道路上的求知者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java基础入门-float四舍五入保留两位小数注意的地方
float四舍五入保留两位小数注意的地方 最近在codewars做了一道非常简单的题目,但是它却花了我20来分钟,虽然最后解决了,但是中间发觉对于java的基础实在不行,回去要好好补一下 不说这么多,上题目:就是写一个方法,把英里每加仑换算成公里每升,保留两位数 一开始写的时候是没有问题,问题出现在保留两位数那里,我上一个测试代码 import java.util.regex.Pa原创 2015-07-29 09:06:18 · 6270 阅读 · 0 评论 -
java基础入门-建立可以多客户端链接的ServerSocket
承接上一篇文章,今天谈论一下可以多客户端链接的ServerSocket。 这里面注意涉及到的技术点是: 1.ServerSocket 2.多线程 这次我们分成两个类来实现,先上代码: package com.test.socket; import java.io.IOException; import java.io.InputStream; import java.io.Ou原创 2015-07-27 17:01:24 · 1724 阅读 · 0 评论 -
java基础入门-建立简单的ServerSocket
今天说说建立小型的服务器。 一般服务器都是循环执行下面几个流程: 1.接收数据流从客户端接受命令 2.解码 3.收集需求 4.通过数据流返回数据 下面上源码: package com.test.socket; import java.io.IOException; import java.io.InputStream; import java.io.Ou原创 2015-07-23 12:30:36 · 1418 阅读 · 0 评论 -
java基础入门-对象流与序列化
概念 对象序列化:将对象输入到流里面,并在之后将其读回。 注意事项 对象需要实现Serializable接口,Serializable接口没有任何方法,不需要重写 由于对象可能会重复使用,对象暂用不再是原来的内存地址,因此,序列化过程中引入序列号这个东西,如下图 序列化用途 对象通过序列化,然后在网络中传输,不同的机器负责不同的计算部分,从而实现分布式计算,提高计算的效原创 2015-07-09 11:39:51 · 1241 阅读 · 0 评论 -
java基础入门-ZipOutputStream打包下载
今天跟大家聊聊使用ZipOutputStream打包下载,我下面是使用ant的jar打包的,因为他对应中文的支持比较好 大家也可以使用java.util.zip包里面的工具类打包,但是他对于中文不友好,很多都是乱码的(包括注释、文件名、打包名) import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.Z原创 2015-07-09 10:29:54 · 6333 阅读 · 0 评论 -
数据机构与算法-数据结构的一些基本概念
百度版: 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 数据结构里面的一些重要概念: 1.逻辑结构与物理结构 1.1逻辑结构(重点) 指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的原创 2015-07-02 12:58:52 · 1770 阅读 · 0 评论 -
java基础入门-多线程同步浅析-以银行转账为例子
在说之前先普及一下线程是什么? 线程:说白了就是一个任务片段 进程:是一个具有独立功能的程序关于某个数据集合的一次运行活动,一个进程有一个或者多个线程 线程与进程的本质区别就是有么有数据共享空间,线程之间可以共享数据,进程不可以 下面进入主题:线程间的同步 由于现在业务流程增加,业务节点也增加,使用业务的人员也同时增加,这个时候就不可避免的出现并发问题,多个线程同时访问操原创 2015-07-02 08:54:07 · 5011 阅读 · 0 评论 -
java基础入门-arraylist存储开销
今天我们来看一下arraylist的存储开销,因为在项目当中,我尝试了一个非常大的arraylist,然后内存爆了 所以我看了下源码,原来arraylist的存储开销是比较大的,先上代码 import java.util.ArrayList; public class Test { public static void main(String[] args) { Array原创 2015-06-29 17:10:58 · 1785 阅读 · 0 评论 -
java基础入门-iterator迭代器与集合下标的使用
今天说说集合的iterator迭代器与集合下标的使用 先上代码 import java.util.ArrayList; import java.util.Iterator; public class Test { public Test() { // 初始化List addItemToList(); } private ArrayList list = new Ar原创 2015-06-19 11:59:56 · 6510 阅读 · 2 评论 -
java基础入门-泛型(1)-为什么需要使用泛型?
为什么需要使用泛型? 1.代码复用 2.保证类型安全 3.编程的便利 下面上代码说明代码复用 1)建立一个Animal的父类 package com.ray.test; public class Animal { private String name="Animal"; public String getName() { return name; } pub原创 2015-06-03 11:34:28 · 2247 阅读 · 0 评论 -
java基础入门-对象的浅克隆与深克隆
这里面涉及到两个类,一个是person类,一个是测试类test 首先我们说到的是浅克隆,对某个对象实施Clone时对其是一无所知的,它仅仅是简单地执行域对域的copy,如果是基本数据类型(int,float,char等)到没什么问题,基本遇上如string,Integer等不可变对象的时候也没有什么问题,但是如果遇上了date这个可变对象,或者是自己定义的可变对象,他只是简单的复制一些引原创 2015-05-07 09:31:56 · 1403 阅读 · 0 评论 -
java-基础入门-自动装箱与自动拆箱留给我们的坑
其实,java在自动装箱和自动拆箱的过程里面,留了不少的坑给我们,我们下面将以integer这个类为基础讨论一下 其实这里面主要涉及的是两点 1.当使用Integer x=1,这样的方式来赋值的时候,其实,编译器当那个1是String,然后需要通过valueof的方法转换过来,但是在转换的过程中,他为了优化速度,使用了我们所不知道的缓存,因为在这里会出现一些坑 2.Integer类里面重写了原创 2015-05-05 08:40:38 · 1857 阅读 · 1 评论 -
java-基础入门-泛型数组列表-解决运行时动态更改数组的问题
泛型数组列表,主要是为了解决运行时动态更改数组的问题 平常我们会像下面的语句一样定义一个部门里面的人员, 但是在实际业务当中,这个数组的大小往往是不确定的, 如果定义过大,那么会浪费空间,定义过小,又不够用, 因为为了解决运行时动态更改数组的问题,我们提出下面的解决方案。 package com.ray.object; import java.util.ArrayList原创 2015-05-04 08:49:16 · 1544 阅读 · 0 评论 -
java基础入门-hashcode与equals方法
equils方法的特性: 1.自反性,对于任何非空引用x,x.equils(x)返回true 2.对称性,对于任何引用x,y,x.equils(y)返回true,那么y.equils(x)返回true 3.传递性,原创 2015-05-03 09:25:46 · 2349 阅读 · 3 评论 -
java基础入门-父类引用子类对象(2)-抽象类
抽象类:具有抽象方法的类,需要使用abstract关键字修饰 关系图 下面上代码 package com.ray.testobject; /** * 抽象类 * * @author ray * @since 2015-05-02 * @version 1.0 * */ public abstract class Perso原创 2015-05-02 21:04:18 · 2999 阅读 · 0 评论 -
java基础入门-final关键字在类、属性域、方法里面的使用
java基础入门-final关键字在类、属性域、方法里面的使用原创 2015-05-01 21:13:43 · 1785 阅读 · 0 评论 -
java基础入门-动态绑定-调用方法的过程
java-动态绑定-调用方法的过程原创 2015-05-01 08:08:55 · 1881 阅读 · 0 评论 -
java基础入门-父类引用子类对象
java基础入门 先贴上代码 package com.ray.object; /** * 父类引用子类对象 * * @author ray * @since 2015-04-30 * @version 1.0 * */ public class Test { class Person { public void say() { System.out.println("i原创 2015-04-30 10:08:02 · 1664 阅读 · 4 评论 -
java基础入门-静态导入
java基础入门 在下面的代码中,展示的是静态导入的一些方便与不便 如Math类这种更方面辨认的、Calendar类这种需要写很多东西的类,可以使用静态导入,从而降低读的门槛 但是对于print这个方法,基本上是不会有人这么干的了 package com.ray.object; import static java.lang.Math.pow; import static java.util.Cal原创 2015-04-29 10:23:42 · 1332 阅读 · 0 评论 -
java基础入门-不用main方法,也可以打印helloworld
java基础入门 package com.ray.object; /** * 不用main方法,也可以打印Hello World! * * @author ray * @since 2015-04-29 * @version 1.0 * */ public class Person { static { System.out.println("Hello World!"); Syste原创 2015-04-29 10:00:34 · 3015 阅读 · 1 评论 -
java基础入门-方法参数的调用是值调用而不是引用调用
java基础入门-方法参数的调用是值调用而不是引用调用 package com.ray.object; /** * 方法参数的调用是值调用,而不是引用调用 * * @author ray * @since 2015-04-22 * @version 1.0 * */ public class Person { private static void swap(原创 2015-04-29 09:55:12 · 1316 阅读 · 0 评论 -
java基础入门-数据访问器(set方法)与返回可变对象
今天写一个大家平常都比较忽略的一个问题 set方法与返回可变对象 我们平常在编程的时候,大部分的时候都是使用get、set方法来访问或者设置属性域 但是在set的方法当中会出现一些比较特殊的例子,就像下面的代码, birthday手型,在set方法里面返回的是一个可变对象date,然后我们再通过这个date去改变属性域里面的值 这种错误时经常出现在代码里面,正确的做法是在birthday原创 2015-04-27 09:23:31 · 2028 阅读 · 0 评论 -
java基础入门-构造器-构造函数
java基础入门-构造器 package com.ray.testobject; public class Person { private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } pub原创 2015-04-25 09:32:19 · 974 阅读 · 0 评论 -
java基础入门-对象与构造方法
java基础入门 package com.ray.object; /** * 对象与构造函数 * * @author ray * @since 2015-04-22 * @version 1.0 * */ public class Person { public Person() { } public Person(String name) { } public static v原创 2015-04-24 10:26:06 · 1051 阅读 · 0 评论 -
java基础入门-对象与对象变量
java基础入门 在上面的代码里面bill是对象,jack只是对象变量 bill因为已经实例化,所以他可以打印具体的东西 但是,jack没有实例化,所以如果需要打印东西,编译器直接报错原创 2015-04-24 08:24:13 · 1325 阅读 · 0 评论 -
java基础入门-预定义类与自定义类
java基础入门-预定义类与自定义类原创 2015-04-23 11:55:47 · 2952 阅读 · 1 评论 -
java基础入门-类、对象、实例的关系
关于类、对象、实例的关系我总结为下面的图 class:类别,比如“人”这一类 object:通过实例弄出来的一个具象的物件,比如:“bill”这个物件,属于“人”这一类 instance:具象对象的过程,比如:填充“人”这个类里面的属性域,最后形成“bill”这个人的过程,重点是过程,所以平常也叫实例化 但是我个人更加倾向于第二个图 class,说白了就是类型,就像上面说的“人”原创 2015-04-22 08:34:42 · 1407 阅读 · 0 评论 -
java基础入门-for循环的一些特殊例子
在for循环里面使用double package com.ray.testfor; /** * 在for循环里面使用double类型 * * @author JMSCADMIN * @since 2015-04-20 * */ public class UseDoubleInFor { public static void main(String[] args) {原创 2015-04-20 08:24:53 · 1757 阅读 · 0 评论 -
java基础入门-还原字符串的拼接的过程
平常我们很多时候都会使用字符串的拼接,但是为什么使用“+”号就是比stringbuilder慢,而且慢很多? 实验 package com.ray.teststring; /** * 对比拼接字符串的两种方式 * * @author ray * @since 2015-04-19 * @version 1.0 * */ public class StringJoint {原创 2015-04-19 23:54:14 · 1396 阅读 · 0 评论 -
java基础入门-你不知道的string-不可改变性与编译器优化
1.不可改变性 package com.ray.teststring; /** * 不可改变性 * * @author ray * @since 2015-04-19 * @version 1.0 * */ public class UnChangabel { public static void main(String[] args) { String greeti原创 2015-04-19 23:33:54 · 1502 阅读 · 0 评论 -
java基础入门-strictfp关键字-严格浮点计算
strictfp关键字-增加关键字,使得方法或者类里面使用严格浮点计算原创 2015-04-18 22:38:01 · 1570 阅读 · 0 评论