
Java
文章平均质量分 54
da_kao_la
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM知识点整理
JVM知识点整理JVM体系结构运行时数据区 (Runtime Data Area)元空间 (Metaspace)Java8之前叫方法区 (Method Area)或永久代 (Permanent Generation )包含:类的全限定名,如java.io.FileOutputStream类的直接超类的全限定名,如java.io.OutputStream类是类类型还是接口类型类的访问修饰符直接超接口的全限定名的有序列表,如``java.io.Closeable,java.io.Flus原创 2020-10-02 00:39:47 · 812 阅读 · 0 评论 -
Java访问控制符:public, protected, default, private
想必这个话题应该已经被大家写过无数遍了,这里我再写一遍吧,给自己加深印象~~~Java访问控制符 类内 本包 子类 外部包 public √ √ √ √ protected √ √ √ default √ √ private √ ...原创 2019-01-16 21:00:50 · 170 阅读 · 0 评论 -
LeetCode 17. Letter Combinations of a Phone Number(递归)
题目来源:https://leetcode.com/problems/letter-combinations-of-a-phone-number/问题描述17.Letter Combinations of a Phone NumberMediumGiven a string containing digits from2-9inclusive, return all possi...原创 2019-03-09 13:45:39 · 169 阅读 · 0 评论 -
LeetCode 35. Search Insert Position(二分)
题目来源:https://leetcode.com/problems/search-insert-position/问题描述35.Search Insert PositionEasyGiven a sorted array and a target value, return the index if the target is found. If not, return the...原创 2019-03-24 10:36:55 · 140 阅读 · 0 评论 -
HashMap与HashSet源码阅读
HashMap与HashSet源码阅读HashMap文件名: java.util.HashMap原理:用数组表示哈希桶,根据哈希值将对象散列在对应的哈希桶中,如果发生Collision,则有开放地址法和链表法两种处理方式。Java的HashMap采用的是链表法,而且在Java8及其后续版本,将链表改为了红黑树,为此提高查询效率。关键的属性和方法计算哈希static fi...原创 2019-03-31 22:26:10 · 156 阅读 · 0 评论 -
单例模式
单例模式设计模式是人们在开发中总结抽象的一些常用的程序设计范式。23种设计模式汇总如下图所示:单例模式是这样一种设计模式,使得一个类只能有一个实例。单例模式主要有以下5种实现方法。饿汉式饿汉式单例模式在类加载过程中就实例化类对象,因此称为“饿汉”。由于Java类加载的过程本身是线程安全的,因此饿汉式的优点是无需额外同步即线程安全,并发效率高,但由于无法延迟加载,导致占用空间资源。pac...原创 2019-04-07 22:24:50 · 997 阅读 · 0 评论 -
Java8 基本类型数组转换为List
Java 8种基本类型(byte/short/int/long/float/double/char/boolean)的数组(byte[]/short[]/int[]/long[]/float[]/double[]/char[]/boolean[])不能直接通过Arrays.asList方法转换为List,因为List的元素必须是包装类。在Java8之前,想要实现这种转换只能通过循环,Java8提供...原创 2019-04-08 13:50:16 · 8077 阅读 · 3 评论 -
单例模式的反射漏洞和反序列化漏洞
单例模式的反射漏洞和反序列化漏洞除了枚举式单例模式外,其余4种在单例模式提到的单例模式的实现方式都存在反射漏洞和反序列化漏洞。package singleton;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.O...原创 2019-04-08 21:59:37 · 1370 阅读 · 1 评论 -
C++ vector::push_back和Java List.add的区别
C++ vector::push_back和Java List.add的区别对象赋值C++和Java在对象赋值方面区别较大,归根到底,还是因为C++和Java中对象存储和引用方式不同。C++中静态建立(即Obj obj)的对象的内容(类属性)是存储在栈上的,变量obj直接持有对象本身;Java中建立的对象(Obj obj = new Obj())的内容(类属性)是存储在堆上的,位于栈上的变量o...原创 2019-06-16 16:04:13 · 1371 阅读 · 0 评论 -
Java与Python的import关键字的差别
Java与Python的import关键字的差别Java和Python的import都有引入包中的类的功能,但是Java作为一种编译型语言,Python作为一种解释型语言,其import关键字的执行机制有很大区别。Java中的importJava中的import的作用类似于C++的using,只是为本包以外的包中的类起一个简单的别名,使得我们可以通过“类名”而非“包名.类名“的方式直接使用外...原创 2019-07-02 10:54:58 · 873 阅读 · 0 评论 -
Java双基准快速排序算法java.util.DualPivotQuicksort源码阅读
Java双基准快速排序算法源码阅读jdk版本:jdk1.8.0_191Java数组和List对象的排序方法分别是Arrays.sort(T[] a)和Collections.sort(List<T> list),分别位于java.util.Arrays和java.util.Collections类中. 由于List底层采用数组实现,因此Collections.sort方法也是通过调...原创 2019-08-04 09:44:21 · 803 阅读 · 0 评论 -
java.util.ConcurrentModificationException产生原因及解决方法
java.util.ConcurrentModificationException产生的原因是遍历Collection对象的同时修改了该Collection对象,例如下面的代码就会抛出ConcurrentModificationException异常:import java.util.*;public class Main{ public static void main(Strin...原创 2018-12-29 11:26:23 · 1670 阅读 · 0 评论 -
Java数据库编程
应数据库课程作业要求,用Java编写了一个简单的图形界面化数据库查询程序,实际用于数据库编程的时间并不多,大部分时间都在做界面开发了。下面就分享一下开发经历和其中的一些坑。环境配置1. 数据库服务器操作系统: Windows10(把自己的笔记本当做数据库服务器,然后用数据库客户端连接localhost)2. 数据库服务器: MySQL 8...原创 2018-12-15 00:10:15 · 677 阅读 · 0 评论 -
POJ 2506: Tiling
题目来源:http://poj.org/problem?id=2506TilingTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 11145 Accepted: 5169 DescriptionIn how many ways can you tile a 2xn rectangle by2x1 or 2x2 ti...原创 2018-05-23 14:14:12 · 197 阅读 · 0 评论 -
Java读Excel文件
Java读EXCEL文件需要用到jar包jxl.jar,但只支持".xls"文件不支持".xlsx"文件。需要读取".xlsx"文件时在EXCEL里将其另存为".xls"文件即可。jar包在eclipse开发环境使用方式如下:需要用到jxl.jar的项目右键"Properties - Java Build Path - Libraries" 选项卡下点击"Add External JARs"原创 2018-04-16 14:12:19 · 234 阅读 · 0 评论 -
Java字符串String比较
基本数据类型的比较用==, 类的对象的比较如果用==是比较的对象的地址,String是一个类,比较String对象的内容,需要用.equals方法或.contentEquals方法。同样的,对于我们自己写的一个类,可以重载.equals方法,实现对象内容的比较。下面的代码给出了一个例子。public class Run { public static void main(String args[...原创 2018-04-17 11:23:09 · 819 阅读 · 0 评论 -
Java写Excel文件
Java写Excel文件也可以用jxl.jar包。下面是一个例子:public void excelprintResult() // 打印输出结果到excel中{ File file0 = new File(ctime0 + ".xls"); // 文件名 try { WritableWorkbook wb0 = Workbook.createWorkbook(file0); //...原创 2018-04-17 23:16:50 · 291 阅读 · 0 评论 -
Java Swing制作界面
Java Swing框架可以用于开发桌面窗体程序。下面是一个例子,是图论课大作业的UI展示界面。功能是读入课表数据(课程时间、课容量),按照课间通勤人数最小的原则,给课程排教室。代码1. 主类:绘制界面用JPanel的setLayout方法绘制界面,例如:contentPane.setLayout(new GridLayout(1,2));表示将contentPane页面分为一行两列。还有就是组件...原创 2018-04-17 23:27:58 · 2686 阅读 · 0 评论 -
Java动态绑定
一、绑定 将一个方法与其所属的类/对象关联叫做方法的绑定,分为动态绑定和静态绑定。二、静态绑定 编译的时候进行的绑定。final, static, private修饰的方法是静态绑定。三、动态绑定 在程序运行过程中,根据具体的实例对象才能确定关联的是哪个方法。动态绑定是java实现多态性的基础。下面是一个动态绑定的例子。class Father { ...原创 2018-05-06 21:10:57 · 640 阅读 · 0 评论 -
Eclipse快捷键
持续更新中------------------------------------------------------------------------------------------------------------------------Ctrl + / : 注释&取消注释Ctrl + D : 删除一行Alt + / : 自动补全,比如打"syso"再按"Alt + /"就会直...原创 2018-05-07 11:15:20 · 145 阅读 · 0 评论 -
百练 1001:Exponentiation(Java高精度)
题目来源:http://bailian.openjudge.cn/practice/1001/这是第一次用Java做OJ,在此写下一些需要注意的地方:1. Eclipse里class都是放在package里的,程序开头都有”package …;”,但OJ平台上不能有这句,否则会”RunTimeError”2. Java从标准输入流用Scanner类,支持以各种数据类型读标准输入流,非常方便。代码如...原创 2018-05-07 14:05:21 · 463 阅读 · 0 评论 -
Java:OJ中常用的各种输入
1. 只有一组数据:Scanner s=new Scanner(System.in);int a=s.nextInt();int b=s.nextInt();2. 输入多组数据,不告知组数,也没有截止符Scanner s=new Scanner(System.in);while(s.hasNext()){//判断是否数据结束int a=s.nextInt();...原创 2018-05-07 14:13:47 · 3219 阅读 · 0 评论 -
Java重写HashMap的toString方法
新建类StringPair重写HashMap的toString方法,让HashMap按照我们想要的格式输出。import java.util.*;class StringPair extends HashMap<String,String> { @Override public String toString() { String ans = ""; for (Map...原创 2018-05-16 14:02:14 · 5816 阅读 · 0 评论 -
Java TCP/UDP socket
1. UDP1.1 单播单台主机与单台主机之间的通信client.javaimport java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.InetSocketAddress;...原创 2018-06-02 21:59:55 · 314 阅读 · 0 评论 -
Java中文乱码问题
Java解析中文文件时字节流转化为字符流的编码方案必须和源文件一致。编码方案在InputStreamReader类中修改。FileInputStream fis = new FileInputStream(new File("data.txt"));InputStreamReader fin = new InputStreamReader(fis,"UTF-8"); // 设字符集为UTF-8,...原创 2018-04-16 09:04:45 · 203 阅读 · 0 评论