Java
Java基础
阳关的美好
把坑踩平
展开
-
Java线程池
构建一个线程开销很大,如果程序中涉及到大量临时线程,就不应该将业务逻辑单独放入一个线程中,而应该使用线程池。线程池中包含许多准备运行的线程,为线程池提供一个Runnable,就会有一个线程调用run方法。当run方法退出时,这个线程不会死亡,而是留在池中准备为下一个请求提供服务。使用executorService.submit提交任务,会得到一个Future的返回值。使用executorService.execute提交任务,是不会有返回值的。Executors 提供了三种快速创建线程池的方式。原创 2023-05-02 19:44:56 · 173 阅读 · 0 评论 -
JUC的使用
CyclicBarrier可以重置,重新使用,但是CountDownLatch的值等于0时,就不可重复用了。CyclicBarrier只能够唤醒一个任务,CountDownLatch可以唤起多个任务。juc一般是指jdk中java.util .concurrent工具包。计数信号量,实现限流操作,限制可以访问某些资源的线程数量。await():计数器停止,唤醒其他线程。Semaphore 只有 3 个操作。countDown():计数器减一。原创 2023-05-02 16:53:39 · 201 阅读 · 0 评论 -
Java的同步
AtomicInteger、AtomicIntegerArray、AtomicLongArray等都可以解决多线程同步问题。ReentrantLock还可以控制锁的时间,而synchronized 不行。ArrayBlockingQueue、ConcurrentHashMap等。同步可以防止并发访问代码块,使多个线程共享某一个资源(代码块)同时用锁时要注意别造成死锁的情况,死锁会造成系统堵塞。volatile修饰变量,可以让变量在多个线程同步。原创 2023-05-02 15:22:16 · 619 阅读 · 0 评论 -
Java 实现多线程的三种方式
1、继承Thread类2、实现Runnable接口3、实现Callable接口1、增强程序的健壮性,将业务逻辑与线程调度分离2、线程池只能放入实现Runable或Callable类线程,不能直接放入继承Thread的类。原创 2023-05-02 00:20:44 · 1081 阅读 · 0 评论 -
Java的集合(一)
集合类是Java数据结构的实现。Java的集合类是java.util包中的重要内容,它允许以各种方式将元素分组,并定义了各种使这些元素更容易操作的方法。Java集合类是Java将一些基本的和使用频率极高的基础类进行封装和增强后再以一个类的形式提供。原创 2023-04-22 09:00:00 · 422 阅读 · 0 评论 -
Java泛型
在定义这个集合时,使用了菱形语法,并且菱形中指出了集合的类型,这就是使用了泛型。原创 2023-04-21 09:00:00 · 51 阅读 · 0 评论 -
java使用阿里云oss上传文件
OSS将数据文件以对象/文件(Object)的形式上传到存储空间(Bucket)中。OSS提供的是一个Key-Value键值对形式的对象存储服务。相较传统建服务器存储而言,OSS在可靠性、安全性、成本和数据处理能力方面都有着突出的优势。使用OSS,您可以通过网络随时存储和调用包括文本、图片和视频等在内的各种非结构化数据文件。OSS是阿里云对象存储服务(Object Storage Service)的一个简称,它是阿里云提供的海量、安全、低成本、高可靠的云存储服务。我用的是阿里的oss服务。原创 2023-04-18 09:00:00 · 1165 阅读 · 0 评论 -
Element ‘dependency‘ cannot have character [children], because the type‘s content type is element-on
可能原因是直接从别的地方复制过来的,与员pom.xml文件冲突了,可以重新排版或者删除自己重新输入原创 2021-08-20 02:05:33 · 62 阅读 · 0 评论 -
Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/myba
用idea使用mybatis时 <mappers> <mapper resource="com/mybatis/mapper/UserMapper.xml"></mapper> </mappers>遇到吐下错误时 Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/mybatis/mappe原创 2021-08-20 03:37:58 · 761 阅读 · 0 评论 -
No qualifying bean of type ‘org.springframework.transaction.PlatformTransactionManager‘ available
今天在ssm项目中遇到一个问题No qualifying bean of type 'org.springframework.transaction.PlatformTransactionManager' available: expected single matching bean but found 2:这个问题产生的原因在于项目中配置了多个数据源,而代码中启用了事务@Transactional注解,导致事务不知道应该用哪个数据源,需要指定数据源才可以重新启用事务@Transactional(原创 2021-08-18 22:08:59 · 1179 阅读 · 0 评论 -
org.dom4j.DocumentException: Connection timed out: connect Nested exception: Connection timed out: c
今天用dom4j解析xml文件时遇到了一个问题org.dom4j.DocumentException: Connection timed out: connect Nested exception: Connection timed out: connect at org.dom4j.io.SAXReader.read(SAXReader.java:484) at org.dom4j.io.SAXReader.read(SAXReader.java:321) at com.mymybatis.MyI原创 2021-08-21 11:04:00 · 674 阅读 · 0 评论 -
java原生并行框架介绍
java原生并行框架介绍转载 2022-11-04 23:23:22 · 448 阅读 · 2 评论 -
mybatis(mybatis-plus)中#与$的区别
mybatis中#与KaTeX parse error: Expected 'EOF', got '#' at position 5: 的区别#̲是采用的预编译,后面接的值会变…采用的拼接之后编译,后面接的为一个值,SQL语句采用接受值,传入的一般为map结合,接受值,传入的一般为map结合,接受值,传入的一般为map结合,后面接map的键...原创 2020-11-18 15:11:03 · 2618 阅读 · 0 评论 -
java交互式工具-Jshell
java交互式工具-Jshell原创 2022-07-26 23:10:25 · 196 阅读 · 0 评论 -
如何访问tomcat中的项目
访问tomcat中web项目原创 2022-07-26 01:37:37 · 4150 阅读 · 0 评论 -
在idea运行maven项目 将mybatis的接口与接口对应xml文件放在同一个包下,启动时无法找到xml文件的解决方案
将mybatis的接口与接口对应xml文件放在同一个包下,启动时无法找到xml文件的解决方案原创 2022-05-20 17:23:42 · 219 阅读 · 0 评论 -
&&,&,||,|的区别
逻辑与非(&&,||)采用短路设计用&&时第一个表达式为false,后面的则不会运算了用||时第一个表达式为true是,后面的则不会运算了单个&或者|则会将两端的都运算到运算符级别!>&&>||...原创 2021-09-04 17:47:00 · 82 阅读 · 0 评论 -
使用MultipartFile遇到的坑
java使用MultipartFile上传文件时,转换流的时候,遇到java.io.ByteArrayInputStream cannot be cast to java.io.FileInputStream错误FileInputStream fileInputStream = (FileInputStream) file.getInputStream();正常情况下应该返回FileInputStream,但我遇到返回ByteArrayInputStream,因为ByteArrayInputStre原创 2021-08-17 15:19:09 · 2189 阅读 · 0 评论 -
使用Java在浏览器页面无法导出excel表格
使用Java在浏览器页面导出excel表格,应该用from表单导出,而不是ajax请求,个人见解。原创 2021-08-13 15:38:15 · 833 阅读 · 0 评论 -
直接打印数组
直接打印数组欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入1.导入java包import java.utli.Scanner;2.打印输出数组System.out.println(Ar原创 2020-10-08 14:45:26 · 262 阅读 · 0 评论 -
如何遍历map与JSON
Map与json中含有多个对象时使用遍历,遍历中的变量为索引(1,2等),遍历下可以用map或json的对象[索引].key值,遍历出其value值。 若只有一个对象时,遍历中变量为key值,遍历下用map或json的对象[key]遍历出所有value值...原创 2021-03-12 12:08:34 · 704 阅读 · 0 评论 -
常见从数据源中取值的方式
最近遇到一些从数据源中取值的方式,于是写这篇文章记录一下。 Jsp取值方式之一el表达式${四大作用域中的key值}通常与jstl标签库一起使用Jstl五大子库 Core (核心库) 标签库的URI: http://java.sun.com/jsp/jstl/core 常用前缀:c I18N(国际化) 标签库的URI:http://java.sun.com/jsp/jstl/fmt 常用前缀:fmt SQL 标签库...原创 2021-03-12 23:53:32 · 307 阅读 · 0 评论 -
mustache模板从数据源中取出数据摆在HTML上
mustache从数据源中取值方式{{prop}}使用直接把模板内容用 script 定义在 HTML 中然后在编译模板之前,通过获取 tpl 的 innerHTML 定义原始模板串:var template = document.getElementById(‘tpl’) .innerHTML.trim();(2)预编译模板使用 parse 函数进行预编译模板,即Mustache.parse(template);要注意,经过预编译后的 template 已经不是原来的模板字符串了,连接数据类型都变原创 2021-03-13 00:13:58 · 190 阅读 · 0 评论 -
Windows10上Java环境配置
安装好jdk后就要配置环境了鼠标右键点击电脑,然后点击属性点击高级系统设置点击环境变量找到系统变量系统变量变量值JAVA_HOMEC:\Program Files\Java\jdk1.8.0_60(jdk安装目录)-Classpath.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jarPath%JAVA_HOME%\bin配置成功后windows建+r输入cmd回车输入java -version回车可以原创 2021-03-12 23:40:34 · 83 阅读 · 0 评论 -
Java获取xml文件内容
xml文件内容<?xml version="1.0" encoding="utf-8"?><Student ><School>xxxx</School> <class>xxxx</class> <name>xxx</name></Student>Java代码public class Demo { public static void main(String[]原创 2021-07-17 03:43:05 · 525 阅读 · 0 评论 -
操作数组的方法
这几天在看一些底层源码,发现在list及其子类的源码经常出现这两个方法。System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)Src //原数组Srcpos //原数组要复制的起始位置Dest // 目的数组Destpos //目的数组放置的起始位置Length //源数组要复制的Array.copof(要复制的数组,数组长度)返回一个数组...原创 2021-03-27 21:04:59 · 54 阅读 · 0 评论