Java入门
文章平均质量分 72
记录Java之路
砖业洋__
掘金/InfoQ签约作者,阿里云/51CTO专家博主,华为云·云享专家,CSDN博客专家,腾讯云·2023年度影响力创作者/优质共创者,擅长MySQL和Java领域,技术分享,全网同名———砖业洋__
展开
-
java中A继承B,B继承C,new A()对象,B、C中的this属于谁
class C{ public C() { System.out.println("C构造方法"); this.print(); } void print() { System.out.println("这是C中的this调用"); }} class B extends C{ public B() {...原创 2018-04-15 19:12:19 · 10175 阅读 · 1 评论 -
关于interrupt(),interrupted(),isInterrupted()用法分析
我想代码是非常容易解释这个问题的了。下文会给出总结。总结点击这里或者往下阅读:直接来一段小代码吧:public class Interrupt { public static void main(String[] args) { Thread t = new Thread(new Worker()); t.start(); t...原创 2018-07-19 15:25:36 · 9623 阅读 · 5 评论 -
java的可变参数和foreach循环需要注意的坑
先讲可变参数。上代码:public class Test { public static void main(String[] args) { cc(); } public static void cc(int... a) { // 形参可变的数组 System.out.println(a.length); for ...原创 2018-07-25 18:42:29 · 1849 阅读 · 1 评论 -
反射笔记
目录类的生命周期:类的主动使用被动使用和类的初始化时机:反射的使用:Class.forName()读取配置文件举例通过反射获取构造方法并使用通过反射获取成员变量并使用通过反射获取方法并使用通过反射越过泛型检查通过反射写一个通用的方法,设置某个对象的某个属性为指定的值小练习:动态代理的概述和实现 关于反射的更详细讲解可以看这位博主htt...原创 2018-07-25 21:29:26 · 1469 阅读 · 0 评论 -
多线程同步问题
先看Demo1:public class Demo1_Synchronized { public static void main(String[] args) { final Printer p = new Printer(); new Thread() { public void run() { ...原创 2018-07-15 14:10:21 · 2359 阅读 · 0 评论 -
网络编程笔记
目录udp传输基础示范:图形化的界面显示小Demo(udp):TCP传输笔记:客户端向服务器上传文件小Demo(tcp): 关于Java TCP/IP Socket方面这位博主写得很详细也很全面:https://blog.csdn.net/ns_code/article/details/17526127 udp传输基础示范:先用2个控制台窗口执行。先运...原创 2018-07-22 19:38:54 · 1635 阅读 · 0 评论 -
java中instanceof用法
有一位博主的例子非常好,在此先引用一下他的例子。java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。 用法:result = object instanceof class参数:Result:布尔类型。Object:必选项。任意对象表达式。Class:...原创 2018-04-09 18:39:59 · 6985 阅读 · 0 评论 -
解决多个io流需要关闭而重复嵌套try-catch-finally的问题
问题如图:相信大多数人都见过如此状态,流多了需要层层关闭,需要层层加上try-catch,为保证下一个流能关闭又要加上finally,烦人!! 我们先来一个测试:public class Test { public static void main(String[] args) { try { System.out.printl...原创 2018-08-09 20:48:24 · 7027 阅读 · 0 评论 -
for-each或迭代器中调用List的remove方法会抛出ConcurrentModificationException的原因
for-each循环遍历的实质是迭代器,使用迭代器的remove方法前必须调用一下next()方法,并且调用一次next()方法后是不允许多次调用remove方法的,为什么呢?接下来一起来看吧 public void remove(ArrayList<Integer> list) { for (Integer integer : list) { ...原创 2018-08-23 12:52:25 · 903 阅读 · 0 评论 -
浅谈Java多线程之内存可见性
目录学习目标:可见性介绍:synchronized实现可见性原理:synchronized实现可见性代码:volatile实现可见性:volatile不能保证原子性:再谈谈CPU:CPU的Cache模型:CPU缓存一致性问题:关于内存屏障: 学习目标:可见性介绍:synchronized实现可见性原理:优化...原创 2018-10-31 11:07:23 · 2450 阅读 · 0 评论 -
多个线程之间的通信问题
在同步代码块中,锁对象是谁,就用那个对象来调用wait和notify为什么wait方法和notify方法需要定义在Object? 因为所有的对象都是Object的子类对象,而所欲的对象都可以当做锁对象 jdk1.5版本之前多个线程通信用synchronized和唤醒全部线程notifyAll等逻辑来控制执行顺序问题。 jdk1.5之后就可以用互斥锁。先展示jdk1.5之前...原创 2018-07-16 21:19:46 · 2087 阅读 · 0 评论 -
用java实现歌曲串烧高速版(SequenceInputStream的使用)
代码如下:(代码冗余部分不用看,一步步学习SequenceInputStream用的)import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io...原创 2018-06-20 12:12:35 · 3696 阅读 · 0 评论 -
输入路径(包括盘符),打印层级目录(隐藏文件也会打印出来)
学习笔记,记录一下import java.io.File;import java.util.Scanner;public class Test4 { /** * @param args * 打印一个文件夹下的所有文件和文件夹,需要打印出层级目录(隐藏文件也会打印出来) * @throws Exception */ public sta...原创 2018-06-26 18:18:55 · 3427 阅读 · 0 评论 -
构造器里面的super()有什么用?到底写不写?
平时写的单独一个类如果没有直接继承父类就是直接继承的Object,有父类就是间接继承的Object,因为父类会继承Object,java的所有类都是Object的子类,哪怕不写super(),也会默认调用的父类的空构造器。接下来举个例子class A{ public A() { System.out.println("A的无参数构造器"); } p...原创 2018-05-15 17:03:21 · 14336 阅读 · 15 评论 -
java方法传值还是传递引用(系统的分析一下)
在网上看了其他一些博主写的,觉得写的不太明了,或者有些情况没有涉及到甚至有一些小错误,我来给完善补充一下。public static void main(String[] args) { int num1 = 10; int num2 = 20; swap(num1, num2); System.out.println("num1 = " + num1); ...原创 2018-05-24 21:50:24 · 6639 阅读 · 0 评论 -
将数组转换成集合Arrays.asList,不可进行add和remove操作的原因
直接上代码:import java.util.Arrays;import java.util.List;public class Test { public static void main(String[] args) { Integer a[] = {1,2,5,6,9}; List<Integer> list = Array...原创 2018-05-30 17:44:05 · 15859 阅读 · 5 评论 -
Java中InputStream装饰器模式的大家族
因为和输入流与之对应的还有输出流(即OutputStream),在此只针对输入流InputStream讨论。1. 家族老大:一说起家族中的老大,InputStream自然是当仁不让,在java的输入流操作的类中,衍生出的基本子类有,可以理解为这些都是InputStream它的孩子(子类):InputStream作为所有输入流中的超类,包含从输入流读取数据的基本方法,所有的具体类都包含了这些方法,例...转载 2018-06-13 17:39:15 · 3681 阅读 · 0 评论 -
深入理解BufferedInputStream实现原理
原文写的好,自己转载加点补充。通过分析FileInputStream类和BufferedInputStream类中的部分核心代码来理解带缓冲的字节输入流的实现原理,缓冲输出流原理与之相同,在此不再赘述。FileInputStream源码[java] view plain copy package java.io; public class FileInputStream extends I...转载 2018-06-08 12:07:27 · 4778 阅读 · 0 评论 -
IO流异常标准处理代码(示范JDK1.7版本之前和JDK1.7版本的标准)
代码如下:以字节流为例import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;class myClose implements AutoCloseable { @Override public void close() { // TOD...原创 2018-06-08 18:54:14 · 5107 阅读 · 0 评论 -
输入两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中
学习过程中自己记录一下import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutput...原创 2018-06-26 14:31:25 · 3936 阅读 · 0 评论 -
android简易智能容错计算器
看了一些网上的代码,感觉多少有点问题,有的不能计算浮点数,有的不能计算多位数,或者没办法保证乘除法在加减法的前面,或者不能与负数进行混合运算。我实现的如下:特点是:在按“=”之前智能预算结果显示,点击按钮,按钮颜色变化思路是:将输入的中缀表达式转换成后缀表达式进行计算难点是:带负数的四则混合运算,以及智能预算显示(这一部分容易出问题)当然最后要记得负0的处理还是为0,除以0提示...原创 2018-11-04 19:05:01 · 5077 阅读 · 16 评论