Java基础
文章平均质量分 56
java基础base学习历程记录
tanxinji
站在巨人的肩膀上
展开
-
Web server failed to start. Port 8888 was already in use.
① 在 Unix/Linux/Mac 上,使用。②在 Windows 上,使用。替换为占用端口的进程ID。替换为占用端口的进程ID。强制终止占用端口的进程。记下显示的进程ID。原创 2023-12-08 07:00:00 · 749 阅读 · 0 评论 -
BeanUtils.copyProperties将一个 Java 对象的属性值复制到另一个对象
在进行属性拷贝时,如果属性类型不匹配,可以通过注册自定义的转换器来进行类型转换,或者使用其他工具库来实现更复杂的属性拷贝逻辑。是 Apache Commons BeanUtils 库提供的一个工具类,用于简化在 Java 对象之间进行属性拷贝、属性查找和属性赋值的操作。该方法会将源对象中的属性值复制到目标对象中,属性名和类型必须在目标对象中存在。是 Apache Commons BeanUtils 库中的一个方法,用于将一个 Java 对象的属性值复制到另一个对象中。在上面的示例中,创建了一个。原创 2023-12-05 17:04:21 · 939 阅读 · 0 评论 -
mybatis中<association> 和 <collection>
association用于配置一对一的关联关系,表示两个对象之间的关系是一对一的。例如,一个订单对象关联一个用户对象。collection用于配置一对多的关联关系,表示一个对象关联多个对象。例如,一个部门对象关联多个员工对象。原创 2023-12-01 17:05:09 · 4366 阅读 · 0 评论 -
springboot跨域问题
浏览器实施了同源策略(Same-Origin Policy),这是一种安全机制,限制了来自不同源的页面之间的交互。域名不同:当浏览器中的 JavaScript 代码发起请求时,请求的目标地址与当前页面的域名不同,就会触发跨域问题。使用 Spring Security 进行跨域配置:如果你的应用程序使用了 Spring Security,你可以在配置类中添加跨域配置。端口不同:即使两个页面的域名相同,但如果它们使用了不同的端口,也会被视为跨域请求。),而另一个页面使用的是普通的 HTTP 协议(如。原创 2023-11-30 16:59:11 · 933 阅读 · 0 评论 -
java stream流map和flatmap的区别
flatMap()操作将每个人员的技能列表转换为一个流,并将多个技能流合并为一个扁平化的流。结果列表为[“Java”, “Python”, “SQL”, “JavaScript”, “HTML”, “CSS”, “C++”, “C#”, “Ruby”]。在这个例子中,map()操作将每个字符串映射为它们的长度,生成了一个新的流。适用于将一个元素展开为多个元素的场景,例如将列表展开为单独的元素,或者将字符串拆分为单词。假设有一个包含多个单词的字符串列表,获取每个单词的长度,并生成一个包含所有单词长度的列表。原创 2023-11-28 20:00:00 · 1236 阅读 · 0 评论 -
java stream流的执行流程
Stream流是Java 8引入的一种用于处理集合数据的函数式编程概念。它提供了一种流式处理数据的方式,可以进行过滤、映射、排序、聚合等操作。在执行终端操作时,流会根据操作链依次处理每个元素。它会按需处理数据,避免不必要的计算。中间操作:一旦有了流,可以对其进行中间操作。中间操作是对数据进行转换、过滤、映射等处理,但并不会立即执行。创建流:首先,需要有一个数据源,可以是集合、数组、I/O通道等。如果需要对同一数据源进行多个操作链的处理,可以通过创建新的流来实现。这些操作可以连接在一起,形成一个操作链。原创 2023-11-28 07:00:00 · 612 阅读 · 0 评论 -
java数据转换为stream的方法
要将数据转换为Java中的Stream,有几种常见的方法,具体取决于数据类型和数据来源。原创 2023-11-27 14:22:44 · 843 阅读 · 0 评论 -
java stream流常用方法
【代码】java stream流常用方法。原创 2023-11-25 16:16:18 · 787 阅读 · 0 评论 -
Java给图片重新设置高度和宽度,并且整体大小不变形自适应
需要调整图片的高度和宽度,又不影响图片的整体效果,就是图片的缩小或者扩大。原创 2023-11-02 23:15:00 · 1611 阅读 · 0 评论 -
Java poi无法导出excel报错Sheet name cannot be blank, greater than 31 chars, or contain any of /\*?[]
使用java poi导出excel表报错。修改excel表名不要带有/ \ *?就可以导出excel了。原创 2023-10-30 11:00:53 · 242 阅读 · 0 评论 -
安装tomcat后可能出现的问题
1. 没有开tomcat服务在浏览器的地址栏中输入localhost:8080 回车会出现如下界面 tomcat没有开服务。在cmd中输入startup.bat。不要关闭开启的tomcat窗口。 2.路径错误 在浏览器中输入url显示404,可能是输入的路径不存在或输入错误路径。3. Java JDK环境变量未设置好 在cmd输入startup....原创 2022-01-02 11:09:32 · 1228 阅读 · 1 评论 -
Idea2020 创建web项目
目录一、创建一个空项目二、创建一个web模块三、模块配置四、常用的软件设置一、创建一个空项目进入idea界面,点击File -》 New -> Project选择Project SDK内 的jdk之后,点击next 点击Next 给项目起名和设置路径之后,点击Finish。 一个名为Test的空项目就建好了!二、创建一个web模块 一个项目就可以创建多个模块的! ...原创 2022-01-03 02:00:00 · 12266 阅读 · 1 评论 -
Maven下载和配置
maven可以用来自动构建项目一、下载Maven 从官网下载压缩包 官网链接 进入官网链接下滑点击如下压缩包下载 下载的是压缩包,需要解压。解压完之后可以将该文件复制到C盘根目录下。如下图所示。 并且复制当前路径 C:\apache-maven-3.8.4二、配置环境变量 跟配置jdk的环境变量的地方一样。1.在电脑中进入修改环境变量的位置 在桌面点击此电脑右键点击属性 下滑选择高级系统设置 进入系统属性后,点击环境变量 进入如下界面点击系统变量下的新建 点击新建后输原创 2022-02-10 16:34:01 · 1232 阅读 · 0 评论 -
解决IDEA启动tomcat控制台乱码
点击Help 选择-> Edit Custom VM Options 在弹出的idea64.exe.vmoptions文件中,加入-Dfile.encoding=utf-8 重启IDEA,在次运行tomcat就不会乱码了原创 2022-03-28 20:39:05 · 931 阅读 · 0 评论 -
linux目录跳转指令
1、查看当前目录pwd2、跳转至 绝对路径会从根目录/ 开始跳转。cd /目录名3、直接跳转至根目录下cd ~4、跳转至当前目录下的某一个文件 cd 目录名5、跳转至上一目录跳转到当前目录的父目录去cd .. ...原创 2022-01-07 15:12:32 · 9109 阅读 · 0 评论 -
postman软件下载和基本使用
postman软件可以方便用来测试通过servlet返回的数据是否正确。 1.postman下载 前往官网下载Download Postman | Get Started for FreeTry Postman for free! Join 17 million developers who rely on Postman, the collaboration platform for API development. Create better ...原创 2022-01-07 13:27:34 · 11936 阅读 · 0 评论 -
Idea2020创建一个Servlet
前言:在创建一个web项目的基础上,创建一个ServletIdea2020 创建web项目_txj的博客-CSDN博客目录一、创建一个空项目二、创建一个web模块三、模块配置四、常用的软件设置一、创建一个空项目进入idea界面,点击File -》 New -> Project选择Project SDK内 的jdk之后,点击next 点击Next 给项目起名和设置路径之后,点击Finish。 一个名为Test的空项目就建好了!二、创建一个web模块 一个项目就可以创建多个模块的! ......原创 2022-01-06 12:48:37 · 1911 阅读 · 2 评论 -
HTTP请求响应报文
HTTP报文就是通过http协议浏览器向服务器请求和响应的数据块。分为请求报文和响应报文。 例如:客户端发送GET /index.html HTTP/1.0Host:www.baidu.com服务器响应HTTP/1.0 200 OKContent-type: text/html Content-length:1902 <html> </html>一、http报文的组成成分 请求报文和响应报文都是由三个部分组成,分别是起始行,首部,数据主体 每一行原创 2022-02-04 16:56:06 · 2161 阅读 · 0 评论 -
Tomcat 8.5在window 10下的安装流程
在window10的环境下安装Tomcat 8.5目录一、前往官网下载压缩包二、配置环境变量三、检测是否安装成功一、前往官网下载压缩包 点击链接: https://tomcat.apache.org/download-80.cgi 下滑到最下面 window10选择 下述箭头的版本下载。 软件解压之后,进入该文件。进入到出现如下界面的时候,复制该路径。如:我当前的路径是D:\sof...原创 2021-12-25 20:09:49 · 1577 阅读 · 3 评论 -
linux定时定点指令
1.定时在某时执行某指令2.定点 在某点执行某指令原创 2022-01-18 21:01:08 · 600 阅读 · 1 评论 -
tomcat修改访问端口号和添加管理用户
一、修改访问端口号 在安装tomcat路径下的conf找到server.xml。使用记事本打开。 如下图出现的port = "8080" ; 在" "内修改你要访问的端口号二、添加管理用户 当我们登录成功localhost:8080时,发现右边的那个按钮登录不了。 例如,点击第三个按钮出现如下界面: 我们可以任意输入用户名和密码他就会出现如下报错 ...原创 2022-01-02 10:59:19 · 748 阅读 · 0 评论 -
Ajax入门
ajax全名为Asynchronous Javascript And XML 异步js和xml。可以在不重新加载页面的前提下,向服务器发送和接收数据。使用方式1、创建XMLHttpRequest对象var xmlHttp;if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); //网景浏览器创建的方式}else if(window.ActiveXObject){ xmlHttp = new ActiveXObjec原创 2022-01-28 23:42:20 · 1534 阅读 · 0 评论 -
修改本地映射地址
在文件栏输入C:\Windows\System32\drivers\etc 点击回车 用记事本(notepad++)打开hosts 添加映射地址: 127.0.0.1 hello 。格式为地址 映射名 启动tomcat测试: 因为上述添加了 127.0.0.1 hello,我们可以通过hello:8080/index.html来访问了...原创 2022-04-03 19:45:22 · 2137 阅读 · 0 评论 -
IDEA创建Maven项目
一、设置IDEA默认Maven配置。 进入IDEA设置界面File -> Settings 在左上角搜索 Maven 在点击Build Tools下的Maven 设置成自己电脑下载Maven的路径。参考 Maven下载和配置 C:/apache-maven-3.8.4 C:\apache-maven-3.8.4\conf\settings.xml 你也可以点击如下,自己去寻找安装Maven的路径 settings.xml设置对的话,Local repository会自动同原创 2022-02-12 15:10:08 · 11832 阅读 · 2 评论 -
Java SWT 表格Table如何动态显示信息
让Table显示信息用到的是TableItem类。创建一个TableItem类对象,通过调用该对象的setText( new String[ ] )方法可以显示一行数据,循环调用则可以显示多条不同的数据。一、步骤: 1. 创建Table类 。最好将Table类设置为全局变量。并且设置该表格有多少列。在Table对象的基础上创建一列的类为TableColumn。可以创建多列。Table table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION);原创 2022-03-08 17:05:23 · 1315 阅读 · 0 评论 -
Java SWT 下拉框Combo动态展示信息和事件监听
在Java SWT中 Combo类可以创建一个下拉框。一、基本使用 需要导包import org.eclipse.swt.widgets.Combo ,然后使用Combo类创建该对象。Combo combo = new Combo(shell, SWT.NONE); 示例:Shell shell = new Shell();shell.setSize(583, 466);shell.setText("SWT Application");Combo combo = new Combo(sh原创 2022-03-09 21:03:25 · 3225 阅读 · 0 评论 -
Java SWT 表格Table实时刷新数据
当对表格展示的数据进行删除和增加的时候,想实时进行表格数据更新显示。用到的方法是,首先将表格数据全部删掉,然后在读取数据库最新的数据显示到表格中。 可以将显示表格信息的代码封装成一个方法,当对当前表格进行插入和删除数据之后,调用之前封装的方法即可。 清空表格。Table table.removeAll();...原创 2022-03-13 10:26:38 · 4238 阅读 · 0 评论 -
解决Java SWT报错:java.lang.IllegalArgumentException: Argument cannot be null
建了一个Java Swt项目,动态展示table信息时出现如下错误: 原项目: 解决: 后来发现是因为 table还有创建对象,就通过TableItem使用了Table对象。先创建好Table对象之后在使用TableItem就好了。 调换顺序即可:...原创 2022-03-07 19:57:58 · 3030 阅读 · 1 评论 -
在eclipse中创建SWT可视化
在较新的eclipse软件中自带WindowBuilder,可以创建SWT项目可视化,通过窗口拖移来添加SWT组件。 一、创建一个SWT项目 点击左上角的File - > New -> Other... 进入后搜索SWT ,选中在WindowBuilder下的SWT Designer 下的SWT/JFace Java Project 点击next 只需要在Project name中...原创 2021-12-27 22:53:04 · 3117 阅读 · 1 评论 -
Java SWT封装Table显示数据
一个表格就类似于一张二维表。第一行为关系模型,就是每一列的列名。从第二行开始就是表的数据,简称元组。下面实现对其Table的封装。首先显示一个窗口。创建一个Table。将在showTableInfos()方法对Table表格进行封装。package JavaSWT表格的显示数据;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;impo...原创 2021-12-10 10:52:14 · 965 阅读 · 1 评论 -
Java从Oracle中插入和读取图片
下面以SWT效果来展示。 1.插入图片。 在java代码中读取图片存入字节数组,然后将其存放在数组中。原创 2021-12-27 21:20:56 · 1441 阅读 · 2 评论 -
Java中CyclicBarrier类
创建CyclicBarrier对象时需要传入一个int数值parties。某个线程调用await()方法会阻塞程序,需要parties个线程调用了await()方法才会全部解除阻塞。 主程序也是一个线程。 如: CyclicBarrier barrier = new CyclicBarrier(3); //需要3个线程调用await()方法才会全部解除阻塞。 barrier.await(); // 阻塞程序 代码示例:为了能够很明显的体现出效果,创建CyclicB原创 2022-05-01 07:00:00 · 193 阅读 · 1 评论 -
Java中的信号量Semaphore
信号量机制可以用来保证线程互斥 创建Semaphore对象: 传入一个整形参数,类似于公共资源 常用方法: acquire();获取一个公共资源,公共资源-1,如果公共资源原创 2022-06-20 19:24:08 · 441 阅读 · 1 评论 -
Java中CountDownLatch类
创建CountDownLatch类时,会传入一个count数值,该对象每次调用countDown()方法会使count -- ,就是count每次减1; 调用await()方法,程序会阻塞等待,当count被减到0了之后,await()后面的程序解除阻塞,可以继续运行。 阻塞的是调用await()方法的后续代码,调用countDown()方法count自减1,当count=0 时解除阻塞。 如:CountDownLatch countDownLatch = new CountDownLatch(4原创 2022-04-23 19:07:54 · 405 阅读 · 0 评论 -
Java线程中join方法的作用
某线程A调用了join方法,那么需要等A线程执行完毕之后才会执行后面的代码。 案例1: 线程没有调用join方法时:public class JoinTest { public static void main(String[] args) { new Thread( ()->{ try { Thread.sleep(2000); } catch (InterruptedException原创 2022-04-16 16:27:55 · 838 阅读 · 0 评论 -
Java两个线程交换数据
使用到的是Exchanger<V>类,在java.util.concurrent包中。使用的时候需要指定交换的类型。 调用Exchanger类对象的exchange(V x)方法,两个线程都传入要交换的数据 v 。 代码测试: 交换两个线程的Integer数据import java.util.concurrent.Exchanger;public class Test { public static void main(String[] args) { Ex原创 2022-04-12 18:59:50 · 1119 阅读 · 0 评论 -
Java用Callable接口创建线程
一、概述 使用Callable接口创建线程能够返回数据。与Runnable接口创建线程的方式有点类似,也是需要通过Thread类来创建线程。由于Thread类的构造函数中没有Callable接口,选用了FutureTask类来作为连接创建线程。 FutureTask类实现了RunnableFuture接口,而RunnableFuture接口继承了Runnable, Future接口。在FutureTask类中构造函数可以传入Callable对象,以此建立关系。 通过FutureTask中的get()原创 2022-04-20 22:16:28 · 5098 阅读 · 0 评论 -
kafka启动kafka.common.KafkaException: Socket server failed to bind to 43.136.39.161:9092: 无法指定被请求的地址.
在server.properties里开启 listeners=PLAINTEXT://:9092。启动kafka无响应,或者启动成功几秒之后又没了。原创 2023-05-27 23:49:14 · 266 阅读 · 0 评论 -
Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:compile (default) on project
解决: 使用maven指令打包,在Terminal中在打包包含有pom.xml的目录下输入。通过IDEA maven插件打包报错。在有pom.xml的目录下打包。原创 2023-05-26 00:12:04 · 608 阅读 · 0 评论 -
Java获取中国城市数据写入excel
这段数据复制,放到一个txt文档中。我想要的excel格式。原创 2023-04-13 13:55:44 · 616 阅读 · 0 评论