线程java篇文章
Net 高级调试--系列文章
合集-Net 高级调试 Net 高级调试之一:开始认识一些调试工具 Net 高级调试之二:CLR和Windows加载器及应用程序域介绍 Net 高级调试之三:类型元数据介绍(同步块表、类型句柄、方法描述符等) Net 高级调试之四:Windbg 动态调试 Net 高级调试之五:如何在托管函数上设置断 ......
Java学习之路(四)
Java学习之路(四) 1、方法的概念 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用 2、方法的定义和调用 2.1 、无参数 ......
JAVA之反射机制
反射的JAVA的一个重要的机制 静态语言:在编译期间检查类型,所有的类型检查发生在编译时。变量的类型在编译时是已知的,不会随着程序运行时期的变化而变化。典型的静态语言包括 Java、C#、C++等。 动态语言:在运行时检查类型,类型检查发生在运行时。变量的类型可以在运行时随程序的执行而改变。典型的动 ......
Java 8: 异步利器 CompletableFuture vs Parallel Stream 选哪个
应人们对性能和体验的要求,异步在项目中用的越来越多,CompletableFuture 和Parallel Stream无疑是异步并发的利器。既然两者都可以实现异步并发,那么带来一个问题:什么时候该使用哪个呢,哪个场景下使用哪个会更好呢?这篇文章因此出现,旨在当执行异步进行编程时Completabl ......
Java反序列化漏洞原理研究
一、Java类加载机制 0x1:Java程序如何运行 一个Java程序的运行整个过程分为编译时和运行时。 首先原始的java程序源码先由java编译器javac来编译成字节码,即.class文件,然后有ClassLoader类加载器加载类的常量、方法等到内存,字节码校验器对变量初始化、方法调用、堆栈 ......
JAVA技术栈的有福啦!这款IDEA插件,写完代码即可调试
国产API调试工具 Apipost 推出IDEA插件,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成 url 和 params。Apipost Helper = API 调试工具 + API 管理工具 + API 搜索工具。 在商店中搜索或直接点击下方链接即可下载: ......
java基础学习:path,java_home环境变量配置
1.path变量: 装jdk后会自动配置java和javac的path路径 2.JAVA_HOME环境变量: ......
Archlinux下 JetBrains系列产品(IDEA、Android Studio) MC 等 java程序 无法输入中文解决方案
解决方法: 检查你的locale配置,终端执行locale -a看一下输出结果是否包含zh_CN.UTF8 如果没有请修改/etc/locale/gen文件,搜索zh_CN.UTF-8,然后取消这一行的注释,或者追加zh_CN.UTF-8 UTF-8到文件底部 使用sudo locale-gen重新 ......
JAVA内存分配
1.类(包含该类的方法)的字节码文件进入方法区处于候命状态 2.虚拟机调用了该类的方法后,方法进入栈内存,并执行方法 3.当运行方法过程中出现了“new”,就会在堆内存中开辟对应空间,并把该空间的地址返回给arr变量记录,因此就可以通过arr找到对应的堆内存空间 注意: ......
java笔记_15_动态生成Excel文件
// 创建表头数据 // 内层List按纵向创建,外层List按横向添加,横向重复的名称会自动合并表格。 List<List<String>> list = new ArrayList<>(); List<String> childList1 = new ArrayList<>(); childLi ......
Java 利用JUC CountDownLatch 线程池Executors 实现多线程操作
Java 利用JUC CountDownLatch 线程池Executors 实现多线程操作 业务场景:某个业务操作非常耗时,但又必须等这个操作结束后才能进行后续操作 import org.springframework.util.CollectionUtils; import java.util. ......
一篇文章玩透awk
安装新版本gawk awk有很多种版本,例如nawk、gawk。gawk是GNU awk,它的功能很丰富。 本教程采用的是gawk 4.2.0版本,4.2.0版本的gawk是一个比较大的改版,新支持的一些特性非常好用,而在低于4.2.0版本时这些语法可能会报错。所以,请先安装4.2.0版本或更高版本 ......
java poi合并单元格后居中显示
Apache POI 是一个用于处理 Microsoft Office 文件的强大 Java 库。如果你想在使用 POI 时将单元格合并并且使内容居中显示,你可以使用 CellStyle 对象并设置对齐方式。以下是一个简单的示例: import org.apache.poi.ss.usermodel ......
JAVA基础
打开CMD的方式 1.开始+系统+命令指示符 2.win+r (输入cmd)打开控制台 3.在任意的文件夹下面按住(shift)+鼠标右键点击,在此处打开命令窗口 4.资源管理器的地址栏前面加上cmd路径 5.管理员方式运行(开始-windows系统-命令提示符-鼠标右键更多-管理员方式运行 常用d ......
协程和线程
一,协程是什么,它是为了解决什么问题诞生的 协程(Coroutine)是一种轻量级的线程,它是由程序员自行控制调度的。协程的诞生主要是为了解决低速IO和高速CPU之间的协调问题。在处理耗时任务或者需要保证主线程安全的情况下,协程能够有效地提高程序的执行效率。 协程的主要特点是能够让异步逻辑同步化,避 ......
Java语言基础知识全总结
一.Java的优点 1. 跨平台性。一次编译,到处运行。Java编译器会将Java代码编译成能在JVM上直接运行的字节码文件,C++会将源代码编译成可执行的二进制代码文件,所以C++执行速度快 2. 纯面向对象。Java 所有的代码都必须在类中书写。C++兼具面向对象和面向过程的特点? 3. Jav ......
Java 注解
从JDK 5 开始,Java 增加了对元数据(MetaData)的支持,也就是Annotation(注解),注解可以理解为代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理 注解能被用来为程序元素(类、方法、成员变量)设置元数据。如果希望注解在运行时起到一定的作用,只有通过 ......
Java八股面试整理(2)
11.int和integer有什么区别,两者在做==运算时会得到什么结果? int是基本数据类型,Integer是int的包装类。 二者在做==运算时,Integer会自动拆箱为int类型,然后再进行比较。如果两个int值相等则返回true,否则就返回false。 12.说一说你对面向对象的理解 面 ......
Java 基础篇day05
面向对象编程 世间万物皆对象,在Java的观念中,把一切都看作对象,但是你操纵的确是一个对象引用。在Java中一旦创建了一个引用,就希望它能与一个新的对象继续关联,通常使用new操作符来实现这一目的。new的意思是,给我一个新对象,如果你不想相亲,自己new一个对象就好了,祝你下辈子幸福 对象本质上 ......
Java网络编程实现一(服务器)对多(客户端)
使用多线程+网络编程实现一个服务器对多个客户端 在该程序中用到的知识点 java的BIO ServerSocket和Socket 网络编程 多线程的知识(个人认为重要) 实现的思路 服务器端(使用多个线程) 在客户端需要有一个集合来存储已经连接上的客户端, 如果客户端断开连接则需要从集合中删除 创建 ......
常用集合线程安全分析
ArrayList在多线程情况下,不安全 具体代码 package com.shaonian.juc.list_thread_secure; import java.util.ArrayList; import java.util.List; import java.util.UUID; /** * ......
java
我们先剖析一个完整的Java程序,它的基本结构是什么: /** * 可以用来自动创建文档的注释 */ public class Hello { public static void main(String[] args) { // 向屏幕输出文本: System.out.println("Hello ......
java 网络编程之传输文件
需要建两个类,分别作为服务器(接收文件)和客户端(发送文件) 1.服务器类: 1 package 菜鸟教程.网络编程.网络编程之传输文件; 2 3 import java.io.*; 4 import java.net.InetAddress; 5 import java.net.ServerSoc ......
Java比赛常用API总结
1.栈和队列 1.1 栈的常用方法 //1.栈顶插入元素 push(element) //2.返回栈顶元素并弹出栈顶元素 pop() //3.返回栈顶元素但不弹出 peek() //4.清空栈 clear() //5.返回栈中元素个数 size() //6.判断栈是否为空 isEmpty() //7 ......
java网络编程与多线程
一、Java 网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。 java.net 包中 J2SE 的 API 包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。 java.net 包中提供了两种常见的网络 ......
Java_消息队列
消息系统 MQ 全称Message Queue(消息队列) 消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ等,而部分数据库如Redis、MySQL以及phxsql也可实现消息队列的功能 系统管理者MessageManager 包括Apache的 ......
Java NIO包结构简介
layout: post read_time: true show_date: true title: Java NIO包结构 date: 2023-07-09 10:12:10 -0600 description: Java NIO包结构简述. img: posts/java-nio/cover. ......
java开发环境
java开发环境 编译运行过程 (1)编译期 将.java源文件交给编译器编译成.class字节码文件的过程 (2)运行期 把编译后的.class字节码文件经过JVM加载并运行.class字节码文件 配置环境变量 windows 10系统下配置JDK环境变量: (1).安装JDK,安装过程中可以自定 ......