为什么java中静态方法不能调用非静态方法和变量?

  • Post author:
  • Post category:java

这个可能很多人之前学习jvm的时候都会遇到,属于一个小问题,写这篇文章的原因是我在看java相关的面试题目中遇到的,因此顺手总结一下: 一、例子 我们先看效果: 我们在静态方法main中调用非静态变量或者是方法都会报错。我们反过来看看: 反过来没有一点问题,接下来我们解释一下原因: 二、原因解释 我们需要首先知道的是静态方法和静态变量是属于某一个类,而不属于类的对象。我们不直接讲原因,先从jvm说…

继续阅读 为什么java中静态方法不能调用非静态方法和变量?

Java常用类(三):FileUtils类

  • Post author:
  • Post category:java

目录 1. 什么是FileUtils类? 1.1 什么是Common IO 1.2 添加相关的maven依赖 1.3 什么是FileUtils 2. FileUtils类的常用方法 2.1. 复制文件夹 copyDirectory 2.2 复制文件 copyFile 2.3 把字符串写入文件 writeStringToFile 2.4 把字节数组写入文件 writeByteArrayToFile …

继续阅读 Java常用类(三):FileUtils类

十分钟搞定Java多线程-如何使用sleep()方法和TimeUnit暂停线程

  • Post author:
  • Post category:java

为什么要使用sleep暂停线程 有多种方法可以暂停或停止当前正在运行的线程,但是使用Thread.sleep()方法将线程置于睡眠状态才是暂停线程的正确方法。有些人会说,为什么不用wait和notify呢?仅仅为了暂停线程而使用这些方法并不是好方案,这些是有条件等待的方法,它们不依赖于时间。如果使用wait()阻塞的线程将一直等待,直到它所等待的条件发生改变。当然,你可以将timeout放在那里,…

继续阅读 十分钟搞定Java多线程-如何使用sleep()方法和TimeUnit暂停线程

java nio 入门_Java NIO 入门

  • Post author:
  • Post category:java

关于多路复用 很多人用过InputStream和OutputStream接口,用来操作文件、Socket等等 IO 操作。 如果是简单的,速度较快的 IO 操作,我们用Stream类的接口,依然可以风生水起。 如果你要使用非阻塞的 IO 的话,他们可能就满足不了你了。 熟悉操作系统的人会知道,操作非阻塞 IO 无非几种多路复用: select poll epoll kqueue IOCP 这里的复…

继续阅读 java nio 入门_Java NIO 入门

java 图片与字符串的转换

  • Post author:
  • Post category:java

public static String getImageStr(String imgFile) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 //String imgFile = "d:\\111.jpg";// 待处理的图片 InputStream in = null; byte[] data = null; // 读取图片字节数组 try { in = new Fi…

继续阅读 java 图片与字符串的转换

java 获取所有已加载类,java – 使用特定注释查找已加载的类

  • Post author:
  • Post category:java

我正在编写一个自定义的跨平台序列化方法,它通过注释这样的类来支持自定义类型(标准类型是字符串,数字,映射,列表等): @CompactTypeName("myapp.BetweenFilter") public static class BetweenFilter implements NumericFilter { static { CompactSerializer.registerClass…

继续阅读 java 获取所有已加载类,java – 使用特定注释查找已加载的类

java 中的三种跳出多重循环的方式

  • Post author:
  • Post category:java

使用带有标记的break语句,break默认是结束当前的while/for/case语句,但是当要一次结束多层嵌套的时候可以通过添加标记的方法,具体操作如下: String a1 = ""; String b1 = ""; here: for (int i = 1; i <= 4; i++) { a1 = "外层循环第"+i+"层"; for (int j = 1; j <= 4; j…

继续阅读 java 中的三种跳出多重循环的方式

java数据离散化模板

  • Post author:
  • Post category:java

import java.io.*; import java.util.*; public class Main { static int n; static int[] list; public static void main(String[] args) throws IOException { n=nextInt(); list=new int[n+1]; for(int i=1;i<…

继续阅读 java数据离散化模板

第四章:Java的输入输出(基础IO流)

  • Post author:
  • Post category:java

目录 一、定义 二、输入方式 (一)常用输入:Scanner 类 (二)窗口输入:JOptionPane 类 (三)安全输入:IO.console 类 三、输出方式 (一)不换行输出:System.out.print(); (二)换行输出:System.out.println(); (二)格式化输出:System.out.printf(); 一、定义 (一)输入(Input)输出(Output)一…

继续阅读 第四章:Java的输入输出(基础IO流)

java读取路由列表信息_详解Spring Cloud Gateway 数据库存储路由信息的扩展方案

  • Post author:
  • Post category:java

动态路由背景 ​ 无论你在使用zuul还是spring cloud gateway 的时候,官方文档提供的方案总是基于配置文件配置的方式 例如: # zuul 的配置形式 routes: pig-auth: path: /auth/** serviceid: pig-auth stripprefix: true # gateway 的配置形式 routes: - id: pigx-auth uri…

继续阅读 java读取路由列表信息_详解Spring Cloud Gateway 数据库存储路由信息的扩展方案