JAVA学习
java学习
ALLACS
千里之行,始于足下
展开
-
java Collections工具类的使用 利用ORM对象关系映射的简单实验(容器的综合运用)
package cn.java.mhz; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 测试Collections工具类的常用方法 * @author asus * */ public class testCollection { public stati...原创 2019-06-05 11:27:50 · 148 阅读 · 0 评论 -
Java IO---02
1.字节数组输入流 字节数组是属于内存的,不需要额外从磁盘文件中调度,有几点需要注意:F.所有的东西都可以转成字节数组,方便进行传输;S.不建议量非常大,否则内存容易爆满 T .不需要关闭 package cn.io.java.mhz; import java.io.ByteArrayInputStream; import java.io.IOException; import java...原创 2019-06-11 16:23:50 · 97 阅读 · 0 评论 -
Java---多线程02
1.礼让yield yield暂停线程,使得当前执行的线程由运行状态直接转入就绪状态,然后交由cpu重新调度 package cn.MulThread.java.mhz; /** * 礼让yield * yield暂停线程 * @author MHZ * 礼让线程,让当前正在执行的线程暂停,不是阻塞状态,而是将线程从运行状态直接转入就绪状态,让cpu重新调度,公平竞争,注意是直接进入...原创 2019-06-21 16:06:16 · 156 阅读 · 0 评论 -
synchronized同步方法和同步块 double精度问题
贴两篇博客: https://blog.csdn.net/TesuZer/article/details/80874195 https://blog.csdn.net/feicongcong/article/details/77149243 最好的方法就是转成BigDecimal高精度类型 具体请移步:https://blog.csdn.net/qpzkobe/article/detail...原创 2019-07-01 18:21:47 · 203 阅读 · 0 评论 -
Java---多线程03
1.死锁以及避免死锁 线程同时含有多个对象的锁,那么当多个线程同时开启时,有可能造成死锁,过多的同步可能会造成相互不释放资源,从而相互等待,一般发生于同步中持有多个对象的锁 解决死锁:避免在一个代码块中同时持有多个对象的锁 static和final 1、final可以修饰:类变量、成员变量、局部变量、方法、类。 1.1、被final修饰的变量:必须直接赋值,并且不再允许在其他地方改值。 ...原创 2019-06-23 11:34:01 · 120 阅读 · 0 评论 -
Java---多线程04
1.volatile----轻量级的synchronized锁 ,锁的是数据,保证线程之间变量的可见性,简单地说就是当线程A对变量x进行了修改之后,在线程A后面执行的其他线程能看到变量x的变动,volatile保证了数据永远是最新的,更详细地说是要符合以下两个规则: F.线程对变量进行修改之后,要立刻回写到主内存 S.线程对变量进行读取的时候,要从主内存中读取,而不是缓存...原创 2019-06-26 16:34:10 · 94 阅读 · 0 评论 -
Java---个人编程错误收集---01
1.错误信息:Local variable num defined in an enclosing scope must be final or effectively final 引用自:https://blog.csdn.net/sf_climber/article/details/78326984 报错代码: package cn.MulThreadOthers.java.mhz; ...原创 2019-06-26 17:50:58 · 320 阅读 · 0 评论 -
Java----网络编程 udp 实现一个基于udp协议的简单聊天功能
udp面向非连接,是一种传输层协议,提供面向事务的简单不可靠信息传送服务,例如视频聊天,游戏卡顿 由传输层到达应用层需要套接字 Socket 手写了一下模拟udp传输协议 注意端口不能重复 发送端: package cn.net.java.mhz; import java.net.DatagramPacket; import java.net.DatagramSocket; imp...原创 2019-07-14 18:25:25 · 373 阅读 · 0 评论 -
List Set Map迭代器的使用
package cn.java.mhz; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entr...原创 2019-06-05 09:44:40 · 115 阅读 · 0 评论 -
TreeMap的使用(内部使用了红黑树,能够根据自己所需要进行相应排序) 使用Comparable实现自定义排序
package cn.java.mhz; import java.util.Map; import java.util.TreeMap; /** * 红黑二叉树实现了TreeMap * @author asus * */ public class TreeMapTest { public static void main(String[] args) { Map<Int...原创 2019-06-04 11:59:21 · 373 阅读 · 0 评论 -
Java IO---03
1.打印流,可以直接写入文件 PrintStream && PrintWriter package cn.io.java.mhz; import java.io.BufferedOutputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java....原创 2019-06-12 22:20:33 · 117 阅读 · 0 评论 -
Java 解决一张图使用了回溯剪枝算法 以及Java编写过程中的几点经验总结
/* * * 时间最短的基础上,花费最少 * */ package cn.java.mhz; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Scanner; /** * dfs search *...原创 2019-06-08 15:13:04 · 654 阅读 · 0 评论 -
Java javabean的使用以及Map List的使用来建立一张表
package cn.java.mhz; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; /** * 测试表格数据的存储 * 每一行数据放到javabean对象中存储,多行数据使用一个map或l...原创 2019-06-08 15:54:23 · 269 阅读 · 0 评论 -
Java---多线程01
1.多线程初识 创建线程:第一种方式:继承Thread类,重写run方法,创建实例并调用start方法,调用start方法并不保证立即运行,具体控制交由CPU来执行 package cn.MulThread.java.mhz; /** * 创建线程方式一 * 1.创建:继承Thread+重写run方法 * 2.创建子类对象+start * @author MHZ * *...原创 2019-06-14 09:24:09 · 144 阅读 · 0 评论 -
Java IO---01
1.路径书写,File对象构建以及相对路径和绝对路径 package cn.io.java.mhz; import java.io.File; import java.io.IOException; /** * 名称或路径 * @author MHZ * */ public class FileDemo03 { /** *名称分隔符,也可以使用separator * @...原创 2019-06-09 10:28:07 · 113 阅读 · 0 评论 -
java 手动实现容器 ArrayList的相关操作
/** * 自定义实现ArrayList, 体会底层原理 * 并引入泛型, 增加数组扩容 * 增加set和get方法 增加数组边界的检查 * 增加remove方法 * @author asus * */ public class MyArrayList<E> { private Object[] elementData; private int size; ...原创 2019-06-03 17:09:33 · 151 阅读 · 0 评论 -
java手动实现LinkedList 双向链表的相关操作
package cn.java.mhz; /** * 双向链表 * 手动实现LinkedList * 增加删除效率高,但是查询效率低 * 增加泛型 * remove移除操作 * @author asus * */ class Node{ /*上一个节点 下一个节点 此节点元素数据*/ private Node previous; pri...原创 2019-06-03 19:22:50 · 243 阅读 · 0 评论 -
java 手动实现HashMap 哈希表的相关增删改查操作
package cn.java.mhz; /** * 自定义实现HashMap * 数组和链表的组合形式,数组查找快,链表增加和删除速度快,所以HashMap综合了两方面的优势 * 在JDK8以后,在每条链中加入了红黑树的处理,这使得查询效率进一步提高 * @author asus * */ public class MyHashMap<K,V> { cla...原创 2019-06-04 11:26:02 · 1202 阅读 · 1 评论 -
Java 垃圾回收处理机制 jvm的分配担保机制
参考博客:https://blog.csdn.net/csdnnews/article/details/97065881 https://blog.csdn.net/weixin_40369899/article/details/88943946 一. 首先,我们要明确什么是要处理的垃圾 两个算法:引用计数和可达性分析算法; 引...原创 2019-07-26 09:44:43 · 860 阅读 · 0 评论