线程lesson java 03

使用 Java 实现 RSA 算法的简单示例代码

```java import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import j ......
示例 算法 代码 Java RSA

ASP.NET大文件分片上传/多线程上传

​ IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag 客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续传的下载: Accept-R ......
线程 文件 ASP NET

记一次C程序线程大面积假死、卡住

今天是客户要求的最后期限,可突然发现一种操作方式下,程序会很容出现线程大面积卡住。 程序开了数十个线程,每个都会ping一个ip。 于是有人说是线程太多,有人说是发包太多,还有说是usleep会导致卡死。 gdb连接上卡死的程序: gdb main pid info threads发现确实很多程序处 ......
大面 线程 大面积 程序

用select替代usleep导致的线程阻塞问题

写一个延迟函数,usleep是延迟函数有时导致线程阻塞会因为有定时器终止的信号(SIGALRM)产生时会一些未定义的情况,建议少用,我们目前都换成了select替代,具体代码如下 void Msleep(unsigned int MilliSecond) { struct timeval time; ......
线程 select usleep 问题

Oracle Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: HikariDataSource HikariDataSource (HikariPool-1) has been closed.

这个问题我在多个项目中都出现过,百度了很多都没有解决,有的是数据库服务器升级就消失,有的是数据库表加索引后消失 根据经验总结,这个问题一般是由服务器太拉跨,或者查询优化不够导致查询太慢,等待太久导致的。 ......

【Java】学习使用Tesseract实现验证码图片内容识别

本人的学习环境: 操作系统:win10 java版本:jdk11 (仅作为环境介绍,不一致也无妨) 步骤一: 安装Tesseract环境 可去官网查看各个环境的安装教程,本次是使用的windows版本,windows安装地址 如需要使用简体中文,需要在安装过程中指定其他语言数据下载,如下图所示: 步 ......
图片内容 Tesseract 内容 图片 Java

JSP大文件分片上传/多线程上传

​ 上周遇到这样一个问题,客户上传高清视频(1G以上)的时候上传失败。 一开始以为是session过期或者文件大小受系统限制,导致的错误。 查看了系统的配置文件没有看到文件大小限制, web.xml中seesiontimeout是30,我把它改成了120。 但还是不行,有时候10分钟就崩了。 同事说 ......
线程 文件 JSP

Java内置的注解

Java定义了一套注解,共有7个,3个在 java.lang中,剩下4个在java.lang.annotation中。 作用在代码的注解是 @Override - 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。 @Deprecated - 标记过时方法。如 ......
注解 Java

java的包和权限

注:同一个文件夹下不能有相同的类 包的作用: 1. 区分形同名字的类 2. 当有很多类时,可以很好的额管理类(如java API文档) 3. 控制访问范围 包的本质:创建不同的文件夹来保存类文件。 语法: package com.douyin; package是关键字,表示打包 com.douyin ......
权限 java

Java Web大文件分片上传/多线程上传

​ 4GB以上超大文件上传和断点续传服务器的实现 随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。 但是在很多情况下,平台运营方并没有大文件上传和断点续传的开发经验,往往在网上找一些简单的PHP或者Java程序来实现基本的上传功能,然而在 ......
线程 文件 Java Web

java作业

1、 给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。 package lll; import java.util.Arrays; public class lll { public static void main(String[] args) { ......
java

Java设计模式之单例模式详解--独一无二的事物

# 前言 本文主要讲述**单例模式**,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。 # 一. 什么是单例模式 单例模式是23种设计模式中**创建型模式**的一种,通过单例模式的方法创建的类在当前进程或者线程中只有一个实例。单例模式有两种比较常见的实现方式:**饿汉式* ......
模式 设计模式 独一无二 事物 Java

Java实战-基于JDK的LRU算法实现、优雅的实现代码耗时统计(Spring AOP、AutoCloseable方式)

场景 Java中基于JDK的LRU算法实现 LRU算法-缓存淘汰算法-Least recently used,最近最少使用算法 根据数据的历史访问记录来进行淘汰数据,其核心思想是:如果有数据最近被访问过,那么将来被访问的几率也更高 在Java中可以利用LinkedHashMap容器简单实现LRU算法 ......
AutoCloseable 算法 实战 代码 方式

Java中的List

### Java中的List 有ArrayList和LinkdList,前者底层是数组,后者底层是链表,前者适合遍历查找,后者适合插入删除 ### 1.List的add方法 有两种情况,第一种就是默认添加,在末尾往List里添加元素,第二种就是指定位置添加内容,原来位置的内容就会向后移动一位。 ## ......
Java List

Java的12种常用注解!

1.声明bean的注解😀 @Component 组件,没有明确的角色 @Service 在业务逻辑层使用(service层) @Repository 在数据访问层使用(dao层) @Controller 在展现层使用,控制器的声明(C) 2.注入bean的注解 @Autowired:由Spring ......
注解 常用 Java

java.lang.ClassCastException: com.alibaba.fastjson2.JSONArray cannot be cast to java.lang.String的解决

是这样的,今天跟着写springboot项目的时候,前端登录的时候报403错误。检查了半天,是后端的问题 报错代码: 第二句 报错提示如下 说是JSONArray不能转String,但我这也不是JSONArry转String而是Object转String啊。 网上搜了半天,用了好多种方法也没什么用 ......

Java实战-不可变容器、列表遍历删除、HashMap遍历删除、巧用函数方法实现二维数组遍历

场景 Java中不可变容器的使用 Java工具库Guava的不可变集合和新集合类型Multiset、Multimap、BiMap、RangeSet、RangeMap等的使用示例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/12 ......
数组 容器 函数 实战 HashMap

多线程-线程池与java内存模型

### 多线程-线程池与java内存模型 ### 线程池的使用(思路:什么是线程池->他的基本构造以及参数含义->如何使用,使用过程中需要注意什么->有哪些好用的工具类) 1. 线程池的基笨概念:首先看一下的继承关系,其次看他的状态,它是利用int的高三位表示状态,比如111表示能接受任务,具体看 ......
线程 模型 内存 java

java 第七日 吃货联盟系统

项目需求 运用Java开发网上订餐系统,需要实现”我要订餐“、”查看餐袋“、”签收订单“、”删除订单“、”我要点赞“和”退出系统“六个功能。 项目覆盖技能点 1.程序基本概念 程序、变量、数据类型; 2.使用顺序,选择、循环、跳转语句编写程序; 3.数组的使用。 项目实现思路 1.数据初始化 2.实 ......
吃货 联盟 系统 java

redis是单线程还是多线程?为什么redis那么快?

redis是单线程的。 官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了! Redis 为什么单线程还这么快 ? 1、误区1:高性能的服务器一定是多线程的 ?2、误区2:多线程一定比单线程效率高? ......
线程 redis 还是

JS大文件分片上传/多线程上传

​ 一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需要自己实现。 二、Range 用于请求头中, ......
线程 文件

Java入门|文件扩展名是什么?看完就明白了

## 什么是文件扩展名? - 每一个文件都有文件扩展名,扩展名决定了文件的类型,什么是文件扩展名,例如: - a.doc,文件的扩展名是doc,说明该文件是一个word文件 - a.txt,文件扩展名是txt,说明该文件是一个普通文本文件 - a.java,文件扩展名是java,说明该文件是一个Ja ......
扩展名 文件 Java

Java基础

Java是一门高级的面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 ......
基础 Java

Java面向对象

物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协作的问题! 面向对象编程的本质就是:以类的方式组织代码,以对象的形式(封装)数据。 ......
对象 Java

JavaScript大文件分片上传/多线程上传

效果展示: 视频演示: windows控件安装,,linux-deb控件包安装,linux-rpm控件包安装,php7测试,php5测试,vue-cli-测试,asp.net-IIS测试,asp.net-阿里云(oss)测试,asp.net-华为云(obs)测试,jsp-springboot测试,A ......
线程 JavaScript 文件

Java学习必备-文件扩展名

根据**动力节点老杜的Java17版入门教程**,整理了笔记,详细讲一讲关于文件扩展名 这套JavaSE教程基于Java17讲述,从零基础出发,讲解Java编程的基础知识和实践技巧,涵盖了Java编程的方方面面。 学习地址:[https://www.bilibili.com/video/BV1ig4 ......
扩展名 文件 Java

Java中进行排序比较-Comparaator与Comparable的区别-使用示例

场景 java中进行排序比较时Comparator与Comparable区别: 如果你有一个类,希望支持同类型的自定义比较策略,可以实现接口Comparable 如果某个类,没有实现Comparable,但是又希望对它进行比较,则可以自定义一个Comparator,来定义这个类的比较规则 注: 博客 ......
示例 Comparaator Comparable Java

java8 stream 数据丢失(错乱)的问题

说明原因:使用的java8的parallelparrStream是并行的,但是.collect(Collectors.toList()) 使用了非线程安全的集合。 修改办法: 修改办法1:把parallelparrStream改为普通的stream ; 修改办法2: Collectors.toLis ......
数据 stream 问题 java8 java

Java中枚举类的特殊用法-使用枚举实现单例模式和策略模式

场景 设计模式-单例模式-饿汉式单例模式、懒汉式单例模式、静态内部类在Java中的使用示例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/127555096 设计模式-单例模式-注册式单例模式-枚举式单例模式和容器式单例模式在J ......
模式 策略 Java

Java中常见转换-数组与list互转、驼峰下划线互转、Map转Map、List转Map、进制转换的多种方式

场景 Java中数组与List互转的几种方式 数组转List 1、最简单的方式,Arrays.asList(array); 创建的是不可变列表,不能删除和新增元素 String[] array = new String[]{"a","b"}; List<String> stringList = Ar ......
驼峰 Map 下划线 进制 数组