Git Product home page Git Product logo

java-core-learning-example's Introduction

一、支持泥瓦匠

关注泥瓦匠个人博客的更新:我的博客 - 分享学习可落地的技术博文

Java 核心系列教程,关于Java核心技术学习积累的例子,是初学者及核心技术巩固的最佳实践。

包括基础语法,OOP,字符串,集合,IO,反射,线程,网络等。 未完成模块:阿里Java手册、java8,注解,fork/join,加解密等。欢迎fork,欢迎交流。

  1. 拿起微信,关注公众号:「程序员泥瓦匠 」
  2. 给教程的开源代码仓库点个 Star
  3. 帮忙分享该系列文章链接给更多的朋友

如果您对 Java 基础核心类教程不感冒或者想要通过综合案例学习Spring,那么给您推荐这个我觉得目前内容与价格最良心的视频课程:“玩转Spring全家桶”

二、系列文章目录

『 阿里 Java 开发手册篇 』

『 Java 进阶篇 』

  • 连载中...

『 Java 集合篇 』

『 Java IO 篇 』

三、最后推荐

四、我的公号

关注微信公众号,领取 Java 精选干货学习资料

项目结构

  • src 目录
    Java核心技术学习代码兼测试案例
  • test目录(测试包名与src目录保持一致)
    对应学习代码包的详细测试案例

包目录:

├── org.rpc		// 基于Java动态代理&Socket的简单RPC实现
=================华丽的分割线=================
├── org.javacore.base		// Java基础必备
├── org.javacore.collection	// Java集合
├── org.javacore.collection.list	// Java集合List
├── org.javacore.collection.map	// Java集合Map
├── org.javacore.collection.queue	// Java集合Queue
├── org.javacore.collection.set	// Java集合Set
├── org.javacore.collection.util	// Java集合工具类
├── org.javacore.initAndCleanup	// Java初始化及清理
├── org.javacore.io			// Java IO
├── org.javacore.io.byteoper		// Java IO 字节操作
├── org.javacore.io.zip			// Java IO ZIP压缩解压
├── org.javacore.nio			// Java NIO
├── org.javacore.reflection	// Java 反射
├── org.javacore.rtti			// Java RTTI
├── org.javacore.thread		// Java 线程
=================实战JAVA 8=================
├── org.javacore.lambda		// lambda表达式
├── org.javacore.stream		// Stream API 集合的流式操作
│
拼命更新!顶!d=====( ̄▽ ̄*)b

详细目录:

├── README.md						// 项目唯一详细文档
├── org.javacore.base			// Java基础必备
├── 	CopyT.java						// 深拷贝与浅拷贝
├── org.javacore.base.inter		// Java接口
├── 	ApplyClass.java					// 不使用接口的接口案例
├── 	ApplyInter.java					// 使用接口的接口案例
├── org.javacore.collection		// Java集合
├── 	PerBtwnAllCollectionsT.java		// 各集合添加方法性能对比
├── org.javacore.collection.list		// Java集合List
├── 	ArrayListT.java					// ArrayList的使用
├── 	PerBtwnArlAndLklT.java			// ArrayList与LinkedList性能的对比
├── org.javacore.collection.map		// Java集合Map
├── 	HashMapObjT.java				// HashMap操作对象的决定因子:hashCode与equals
├── 	HaspMapT.java					// HashMap的Add方法
├── 	TreeMapT.java					// TreeMap的使用
├── org.javacore.collection.queue		// Java集合Queue
├── 	PriorityQueueT.java				// PriorityQueue的使用
├── org.javacore.collection.set		// Java集合Set
├── 	HashSetObjT.java				// HashSet操作对象的决定因子:hashCode与equals
├── 	HashSetsCopyT.java				// HashSet及其子类的转换使用
├── 	HashSetT.java					// HashSet的Add方法
├── 	SetContainT.java				// Set的Contains方法
├── 	TreeSetT.java					// TreeSet操作实现Comparable接口的对象
├── org.javacore.collection.util		// Java集合工具类
├── 	CollectionsT.java				// Collections的使用
├── 	IterAndListIterT.java			// Iterator与ListIterator的区别
├── 	PerBtwnEmptyMapAndHashMapT.java	// Collections.EMPTY_MAP 与 new HashMap 性能对比
├── org.javacore.initAndCleanup	// Java初始化及清理
├── 	SimpleConstructor.java			// 简单构造器的展示
├── 	SimpleConstructor2.java			// 带参数简单构造器的展示
├── 	VoidConstructor.java			// 默认构造函数和方法的区别
├── org.javacore.io				// Java IO
├── 	BufferedInputFileT.java			// 缓冲输入文件
├── 	CopyFileT.java					// 文件复制
├── 	Directory.java					// 目录实用工具
├── 	DirListT.java					// 列出目录并排序
├── 	FileIOStreamT.java				// FileInputStream&FileOutputStream使用案例
├── 	FileMethodsT.java				// File方法详细使用
├── 	FilenameFilterT.java			// 类名过滤器的使用
├── 	FileT.java						// File类的使用
├── 	FormatteMemoryInput.java		// 格式化内存输入
├── 	JavaFileListT.java				// FilenameFilter文件过滤器的使用
├── 	MemoryInputT.java				// 内存中输入
├── 	PipeStreamT.java				// 管道输入输出流的的使用
├── 	RandomAccessFileT.java			// RandomAccessFile的使用
├── 	StoringAndRecoveringData.java	// DataOutputStream和DataInputStream的使用案例
├── 	SystemStreamT.java				// System.out, System.err中IO的使用
├── 	UsingRandomAccessFile.java		// RandomAccessFile的使用案例
├── org.javacore.io.byteoper		// Java IO 字节操作
├── 	IntegerConvertT.java			// Integer与byte数组转换
├── 	IntegerOperT.java				// Integer类的进制转换
├── 	LongConvertT.java				// Long与byte数组转换
├── 	StringConvertT.java				// String转换成byte数组
├── org.javacore.io.zip				// Java IO ZIP压缩解压
├── 	GZIPcompress.java				// GZIP简单使用
├── 	ZipCompress.java				// 利用Zip进行多文件保存
├── org.javacore.nio				// Java NIO
├── 	AvailableCharSets.java		 	// 可用的CharSet打印
├── 	BufferToText.java				// ByteBuffer与char之间转换的案例
├── 	ChannelCopy.java				// FileChannel的文件复制案例
├── 	Endians.java					// ByteBuffer中字节存储次序
├── 	FileChannelT.java				// FileChannel读写文件案例
├── 	FileChannelTransferTo.java		// FileChannel的transferTo/transferFrom案例
├── 	FileLocking.java				// 文件加锁
├── 	GetChannel.java					// 从流中获取FileChannel的案例
├── 	GetData.java					// ByteBuffer操作类型数据的案例
├── 	IntBufferDemo.java				// 通过IntBuffer操作ByteBuffer的int型数据
├── 	LargeMappedFiles.java			// 内存映射文件的使用
├── 	MappedIO.java					// MappedByteBuffer与Old IO的性能比
├── 	UsingBuffers.java				// 利用buffer实现交换相邻字符
├── 	ViewBuffers.java				// 不同视图下的缓冲区
├── org.javacore.reflection		// Java 反射
├── 	ArrayCopy.java					// 反射扩容对象数组
├── 	EmployeeClass.java				// 反射在继承中的案例
├── 	ObjectAnalyzer.java				// 反射对象分析工具
├── 	ReflectionTest.java				// 反射对象构造函数、方法及字段
├── 	User.java						// 反射构造器使用的bean
├── 	UserConstructorReflect.java		// 利用反射通过构造器创建一个实例
├── org.javacore.rtti				// Java RTTI
├── 	ClassInitialization.java		// Class初始化案例
├── 	ShowMethods.java				// 获取Class方法案例
├── org.javacore.thread			// Java 线程
├── 	BasicThreads.java				// 线程简单使用
├── 	CachedThreadPool.java			// 线程池CachedThreadPool的简单使用
├── 	CallableDemo.java				// Callable接口的使用 --- 实现带返回值的任务
├── 	DaemonFromFactory.java			// 后台线程工厂类的使用
├── 	DaemonThreadFactory.java		// 线程工厂类
├── 	DaemonsDontRunFinally.java		// 后台线程遇到Finally
├── 	FixedThreadPool.java			// 线程池FixedThreadPool的简单使用
├── 	LiftOff.java					// Runnable接口的实现类LiftOff
├── 	MoreBasicThreads.java			// 线程简单使用-启动多个线程
├── 	MyRunnable.java					// Runnable接口的简单使用
├── 	MyThread.java					// Thread的简单使用
├── 	SimpleDaemons.java				// Daemon后台线程的简单使用
├── 	SimplePriorities.java			// 线程优先级的使用
├── 	SingleThreadExecutor.java		// SingleThreadExecutor的使用
├── 	SleepingTask.java			    // 休眠线程sleep的使用
拼命更新!顶!d=====( ̄▽ ̄*)b

学习方法

根据包目录,进行一块一块学习。然后针对某类,请看下相对应的test包或者src下直接测试案例,进行学习。

java-core-learning-example's People

Contributors

bysocket avatar decompilertool avatar jeffli1993 avatar syhily avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

java-core-learning-example's Issues

深拷贝与浅拷贝的问题

请问,在CopyT.java中这两段代码有什么区别吗?
"""

    // 浅拷贝
    // 对其对象的引用却没有拷贝
    Student student2 = (Student) student1.clone();
    student2.setName("Jeff2");
    student2.getFamily().setName("Jeff2 Family");
    System.out.println(student1.getName() + " " + student1.getFamily().getName());
    System.out.println(student2.getName() + " " + student2.getFamily().getName());

    // 深拷贝

// Student student2 = (Student) student1.clone();
// student2.setName("Jeff2");
// student2.getFamily().setName("Jeff2 Family");
// System.out.println(student1.getName() + " " + student1.getFamily().getName());
// System.out.println(student2.getName() + " " + student2.getFamily().getName());
"""

深拷贝报错

o.family = (Family) family.clone();
The method clone() from the type Object is not visible
这个怎么解决

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.