![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
成长er
以苦作乐何人懂?逍遥自在断世愁
展开
-
socket编程的简单实现
socket编程是作为程序员必须会的,所以这篇博客就专门来讲一讲socket编程的基本实现。 话不多说,直接上实例,然后再分析讲解。 TCP版: client端: package day01; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; impo...原创 2019-10-15 16:42:37 · 256 阅读 · 0 评论 -
深拷贝和浅拷贝
在前面,我们在java创建对象的四种方式中提到过通过clone来创建对象,点我前往。 这一篇,我们将详细说说拷贝。 拷贝分为两种,浅拷贝和深拷贝。 浅拷贝:赋值原来的对象,但是不复制对对象的引用。对于基本数据类型,克隆前后互不影响,即创建了一个新的对象。对于引用类型,克隆前后相互影响 深克隆:不仅复制了对象,还赋值了对象的引用,即克隆前后完全是两个不同的对象,两者互不影响。 下面,我们就...原创 2019-09-10 11:39:52 · 198 阅读 · 0 评论 -
java反射
前面写了篇文章讲了java对象的四种创建方式,其中的java反射只是提了一下,但是很多细节没有说,这篇文章就专门说一说java反射的一些实现。 首先创建源类: package day01; import javax.security.auth.login.LoginContext; public class User { private String username...原创 2019-09-09 22:14:11 · 145 阅读 · 0 评论 -
java创建对象的四种方式
我们都清楚,java的创建方式常用的有四种,这里我对这四种方式进行了代码的实现,做一个简单的总结。 package day01; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStre...原创 2019-09-09 11:12:33 · 266 阅读 · 0 评论 -
工厂模式的实现3
上一篇我们实现了工厂模式,点击前往,但是有一个很大的缺陷就是一个工厂只能生产一个产品,那就意味着我们新添一个产品就要新添一个工厂,很明显这个任务量就太大了 为了避免这种情况,我们又引入了新的模式就是抽象工厂模式。 简单的说,抽象工厂模式就是在工厂模式的基础上,让一个工厂可以生产多个产品,而这些产品同时应该是属于同一个工厂的。 首先我们创建两个产品Car和Bike,并为他们分别提供一个实现方法...原创 2019-09-05 11:20:52 · 319 阅读 · 0 评论 -
工厂模式的实现2
上一篇我们讲了静态工厂模式的具体实现,点击前往,我们可以发现,我们在静态工厂模式中只提供了一个工厂,当我们需要添加不同的产品时,很明显就需要修改源代码,这就违背了开闭原则,为了避免这一情况,我们引入了工厂模式。 工厂模式:简单的说就是提供一个工厂接口和产品接口,我们通过工厂接口来实现不同的工厂,通过不同的工厂来获取不同的实例,通过产品接口来实现不同的产品。 首先我们先创建产品接口,并提供产品方...原创 2019-09-05 10:19:34 · 116 阅读 · 0 评论 -
工厂模式的实现1
在我们的实际项目中,工厂模式的应用是相当广泛的,所以对工厂模式有一个清晰的理解是很有必要的,为此,我这里专门对常见的三种工厂模式进行代码的实现和流程的理解,这样也便于在今后的学习和工作。 这篇我们将讲解最基础的静态工厂方法模式,也叫做简单工厂模式。 简单工厂模式,简单的说就是将对象的创建和使用分离,使用者不需要知道所需创建的对象的具体名称,而只需要调用所提供的参数即可。 首先我们创建一个抽象...原创 2019-09-05 09:35:24 · 108 阅读 · 0 评论 -
单例模式的实现
单例模式的实现有很多种,这里我们在代码实现上来完成常见的几种。 1. 双重检索 package day01; /** * 单例模式的实现方式:1.双重检索 * * @author WEI 哥 * */ public class Fibonacci { //私有化构造方法,避免外部创建对象 private Fibonacci() {} //使用volatile避免多线程下指...原创 2019-08-31 22:27:31 · 122 阅读 · 0 评论 -
字符串的基本操作
我们最常打交道的就是字符串了,所以将字符串的一些很常用也很实用的方法总结一下是很有必要的,这样以后遇到的话就不用全百度去搜索了。这里我会不定时的更新 package day01; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputS...原创 2019-08-30 22:32:53 · 137 阅读 · 0 评论 -
三种方式实现多线程交替打印数字
以前多线程基础比较差,现在开始恶补。作为多线程的开门篇,多线程的实现是最基本的,也是java程序员闭着眼睛都应该可以实现的。 话不多说,直接上代码: package day01; import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; /** * Multi-threaded alter...原创 2019-08-27 16:18:10 · 1421 阅读 · 0 评论 -
文件操作
我们都知道java文件操作有很多种情况,这里我们就其中很常用的方法来进行实现。 1.采用BufferedReader和BufferedWriter来进行文件的读写(按行来读写) package day01; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import jav...原创 2019-08-30 17:37:34 · 156 阅读 · 0 评论