线程lesson java 03

一文搞懂Java异步编程之FutureTask(转)

背景 Java异步编程的在实际开发中经常被用到,那么异步任务执行结束如何将结果通知到主线程或者其他任务呢?本文不探讨JUC包下的各类锁实现实现的任务同步或者通知。 一、Thread 狭隘的讲Java创建线程的方式只有一种,就是new Thread实例。Thread本身是Runnable的实现并且它定 ......
FutureTask Java

JAVA代码使用JNI的方式调用C/C++动态库

JNI(java native interface),通过JNI的方式调用动态库步骤比较麻烦,不用额外引入依赖,对java项目工程依赖侵入为0,类中含有native描述的方法都会与动态库去 一 一 映射,能通过System.load()函数去加载动态库,这种方式主要使用的场景是java写好类(一般不 ......
代码 方式 动态 JAVA JNI

Lesson2 GridLayOut 表格布局

package com.kuang.lesson1; import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class TestGridLayout { pu ......
GridLayOut 表格 布局 Lesson2 Lesson

lesson2 BorderLayOut 东西南北中

package com.kuang.lesson1; import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class TestBorderLayOut { ......
BorderLayOut 南北 lesson2 东西 lesson

lesson2 FlowLayOut

package com.kuang.lesson1; import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class TestFlowLayout { pu ......
FlowLayOut lesson2 lesson

03_如何仅用递归函数和栈操作逆序一个栈

如何仅用递归函数和栈操作逆序一个栈 【题目】 一个栈依次压入 1、2、3、4、5,那么从栈顶到栈底分别为 5、4、3、2、1。将这个栈转置 后,从栈顶到栈底为 1、2、3、4、5,也就是实现栈中元素的逆序,但是只能用递归函数来实 现,不能用其他数据结构。 【解答】 本题考察栈的操作和递归函数的设计, ......
逆序 函数 03

java的jdk配置环境变量

安装JDK 选择安装目录 安装过程中会出现两次 安装提示 。第一次是安装 jdk ,第二次是安装 jre 。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错) 如下图所示 1:安装jdk 随意选择目录 只需把默认安装目 ......
变量 环境 java jdk

第四周Java ppt作业

package Java作业; class father{ private int money; private int getMoney() { return money; } private void setMoney(int money) { this.money = money; } } c ......
Java ppt

lesson2 Panel 解决了窗体闭关事件

package com.kuang.lesson1; import java.awt.*; import java.awt.event.*; // panel可以看着一个空间,但不能单独存在,必须放在frame上 public class TestPanel { public static void ......
窗体 lesson2 事件 lesson Panel

java.net.ConnectException: Connection refused: no further information

java.net.ConnectException: Connection refused: no further information at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_91] at su ......

java方法实践

截取2个指定字符之间的字符串 public String splitData(String str, String strStart, String strEnd) { String tempStr; tempStr = str.substring(str.indexOf(strStart) + 1 ......
方法 java

面试之Java八股文

面向过程与面向对象 面向过程 顾名思义,注重过程。解决问题时按步骤一步一步来,在程序中体现为按照一定顺序执行方法 优点:效率高,无需类加载、对象实例化 缺点:程序耦合度高 面向对象 顾名思义,注重对象。解决问题时先抽象出场景中的对象(实体类),给其添加属性和方法,让对象去执行方法 优点:程序易维护、 ......
八股文 八股 Java

9.27日Java动手动脑练习

1 public class Main { 2 public static void main(String[] args) { 3 Foo obj1=new Foo(); 4 Foo obj2=new Foo(); 5 System.out.println(obj1==obj2); 6 } 7 s ......
9.27 Java 27

Java数据类型

Java数据类型 摘自狂神说java的PPT 什么是字节 1bit表示一位 1Byte表示一个字节 1024B=1KB 1024KB=1M 1024M=1G ......
类型 数据 Java

java数据类型拓展

java数据拓展 public class demo3 { public static void main(String[] args) { //整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x int i1=10; int i2=010; int i3=0x10; System.out ......
类型 数据 java

Java多线程实现生产者与消费者模型

java多线程实现生产者与消费者模型 //测试类 public class TestPC { public static void main(String[] args) { SynContainer container = new SynContainer(); new Thread(new Pr ......
生产者 线程 模型 消费者 Java

Java实现跳表

在这里记录自己查询网上资料后自己实现的JAVA版本跳表的代码,比较简陋。实现过程中遇到个低级错误,在方法内部尝试修改实参引用的指向是无效的(实际上修改的是形参指向,方法内部只能修改实参指向的具体内容,无法修改实参指向),以后一定切记。 public class SkipList { private ......
Java

Java网络编程NIO实现简易多人聊天室

BIO模型 BIO即blocking IO,顾名思义是一种阻塞模型。当没有客户端连接时,服务端会一直阻塞,当有客户端新建连接时,服务端会新开一个线程去响应(不用多线程的话服务端同一时刻最多只能接收一个连接)。但不断的新开线程对服务器的压力是巨大的,为了缓解压力可以采用线程池技术实现线程复用,但这种做 ......
网络编程 简易 聊天室 多人 网络

赛码网编程题--打字(Java全A)

题目描述 小明很喜欢打字,今天小红给了小明一个字符串。这个字符串只包含大写和小写字母。 我们知道,按下CapsLock键,可以切换大小写模式。我们在小写模式时候,同时按下shift+字母键,就能写出大写字母。在大写模式的时候,按下shift+字母键,就能写出小写字母。现在问题来了,给你一个字符串,问 ......
Java

Java动手动脑

动手动脑Ⅰ 程序为什么出错:因为构造函数仅有有参构造。如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。 试验 public class Main { public static void main(String[] args) { d n=new d(); System.out.p ......
Java

【Java】SpringBoot邮件发送实现

Springboot3 邮件发送 哔哩哔哩 萌狼蓝天 微信公众号 萌狼蓝天 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </ ......
SpringBoot 邮件 Java

javaSE基础03(if,switch,while,for,方法)

选择结构 if选择结构 if --> else if -->else 一定要以else结尾; 只执行一段代码块,有一个成功了就停止运行; 尽量避免条件重复判断,就算只有一行代码也要写大括号; int age= scan.nextInt(); if (age>=100) { System.out.pr ......
基础 方法 javaSE switch while

JDK安装、java环境配置

JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库。 JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包 ......
环境 java JDK

延时双删就是操作线程进出数据库经过缓存各删一次

文章目录 1、何为延时双删 2、常用缓存策略 2.1、介绍 2.2、先删缓存后更库 2.3、先更库后删缓存 2.4、使用场景 3、延时双删实现 4、为什么要使用延时双删 5、方案选择 6、延时双删真的完美吗 7、如何确定延时的时间 1、何为延时双删 延迟双删(Delay Double Delete) ......
线程 缓存 数据库 就是 数据

JAVA 单例设计模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该 ......
设计模式 模式 JAVA

java程序,如何打印详细报错堆栈信息

try { System.out.println(1/0); } catch (final Exception e) { log.error("ERROR", "Error found: ", e); log.error("ERROR", "Error found: " + e.getMessage ......
堆栈 程序 信息 java

JAVA高级教程

高级教程 数据结构 枚举 一种从数据结构中取回连续元素的方式 位集合 可以单独设置和清楚的位或标志 向量 Vector 是一个基于动态数组的集合类 栈 实现了一个后进先出的数据结构 字典 定义了键映射到值的数据结构 哈希表 在用户定义键结构的基础上来组织数据的手段 属性 通常指的是类和成员变量,用户 ......
教程 JAVA

Java-统计程序运行的时长(计算两个时间相差的秒数)

最近在做Hbase的查询性能验证,需要统计查询的执行时长,所以需要统计开始时间和结束时间的时间差。 下面是使用SimpleDateFormat和Date计算时间差(相差秒数)的程序示例,仅供参考。 package com.sgcc; import java.text.ParseException; ......
时长 两个 时间 程序 Java

Java函数AI生成器:秒级体验,高质量生成

职业使然,之前我自己试用并给小伙伴们推荐过不少大模型相关的产品,这些产品看起来牛逼plus,但是它们要么对国内有限制,要么是申请制/邀请制,自己没个资想搞个账号去体验一下都难如登天,忍不住吐槽某大厂虽然早早的对外宣布面向全民开发,但实际上提交了手机号码还在等待排队上车,掐指一算,有半个多月了吧,我的 ......
生成器 高质量 函数 Java

Java实现四则运算生成器

这个作业属于哪个课程 计科二班 这个作业要求在哪里 结对项目 这个作业的目标 熟悉结对编程 项目成员 龙新超 3121004921 github链接:龙新超github 艾孜海尔江 3121004900 github链接:海尔江github PSP表格 PSP2.1 Personal Softwar ......
四则 生成器 Java