Java
文章平均质量分 89
danforn
纳言敏行,随遇而安
展开
-
Eclipse项目引入jar包的三种方式
使用Eclipse开发应用程序,少不了使用第三方jar包,而每次引入jar包都是一个不小的问题,不仅那些jar包的位置经常弄不清楚,而且很浪费时间。鉴于此,我列举了三种常用的jar包引入方式,其中第一种是我们最常用的普通操作方式,而第二种和第三种则是快速版的操作方式。 第一种方式:最常用的普通操作方式:基本步骤式右键项目属性,选择Property,在弹出的对话框左侧列表中选择Java Build Path,如下图所示:选择Add External JARs,就可以逐个(也可以选择...原创 2020-12-23 16:06:43 · 2808 阅读 · 1 评论 -
Jacob包使用方法
Java COM Bridge,即java和com组件间的桥梁(进一步了解com/dcom:http://docs.huihoo.com/com/)com一般表现为dll或exe等二进制文件,像我们呆会会用到的jacob.dll文件这里说说为什么我们用java去操纵office(如:word)要使用com,而不直接使用java去做?首先,我们清楚office是建立在windows平台之上的,本身是一个软件,除了他自己提供的宏似乎没有什么能对他进行直接的操作;在windows平台上为了解决像这样的不.原创 2020-12-23 15:52:33 · 1347 阅读 · 0 评论 -
JDK下载安装和环境变量配置方法
操作系统win10下载 JDK从以下地址下载对应jdk的64位或32位 安装包。注意需要登录才能下载,免费注册个账号就行。下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html安装 JDK配置环境变量打开:我的电脑-右键属性-高级系统设置-环境变量,在系统变量下新建或修改:JDK 81、新建变量JAVA_HOME,变量值:C:\Program Files\Jav...原创 2020-12-21 10:48:31 · 490 阅读 · 0 评论 -
Eclipse+Maven+JDK+tomcat搭建Java Web项目开发环境
一、下载工具 这四个压缩文件解压就可以直接使用,不需要安装,但是需要一些配置就可以了,当然,如果喜欢,可以自己去下载对应的安装包进行安装. 二、配置JDK+Maven 解压我们下载的四个压缩包 返回我们桌面,右键我的计算机=》属性,在左侧选择高级系统设置 在高级选项卡中选择环境变量, 点击系统变量中新建按钮,输入变量名为JAVA_HOME,变量值就是你解压的那个jdk所在的目录,点击确定 再点击新建按钮,输入变量名为MAVEN_.原创 2020-12-10 16:56:04 · 342 阅读 · 0 评论 -
使用maven搭建Java web项目
第一步:首先创建一个maven项目创建好的目录结构如下所示这个目录结构不是我们想要的因此要进行改动第二步:对目录结构进行调整1.选中工程点鼠标右键-->properties-->Project Facets,将红框前面的勾去掉,然后保存2.然后重新将勾勾上,这个时候下面会出现一个链接3.点击这个链接,在弹出的页面进行设置,然后点OK4.选中Deployment Assembly修改完后的目录结构如下:...原创 2020-12-10 16:31:23 · 667 阅读 · 0 评论 -
Java使用Dom4J方式解析XML文件
一 dom4j介绍使用方式:在pom.xml中导入dom4j对应的jar <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> 优点:dom4j使Java生成和解析XML灵活性变高,并且代码易于.原创 2020-11-30 15:22:35 · 1217 阅读 · 0 评论 -
Java线程池四种实现方法
Java通过Executors提供四种线程池,分别为:newCachedThreadPool:缓存线程池,大小不受限。创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool :指定大小线程池,能够控制最大并发数。创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool :创建一个定长线程池,支持定时及周期性任务执行。newSingleThreadExecutor 创建一转载 2020-11-23 14:23:40 · 500 阅读 · 0 评论 -
JAVA BIO与NIO、AIO的区别
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒绝请求,如果有的话,客户端会线程会等待请求结束后才继续执行。二、NIONIO本身是基于事件驱动思想...原创 2020-11-16 14:49:14 · 202 阅读 · 0 评论 -
Java AIO网络编程
网络通讯的同步:是指客户端和服务器端直接的通讯等待方式。这里的同步的反义词是异步,即无需等待另外一段操作完成。AIO(Asynchronous I/O,异步I/O)采用回调方法进行处理读写操作异步非阻塞的通讯方式,就是不需要等待一方的数据操作完成,会自动执行回调函数处理的读写操作 主要类(1) AsynchronousServerSocketChannel 服务器接收请求通道 bind 绑定到某个端口 accept 接受客户端请求 (2) AsynchronousSocketChan原创 2020-11-16 14:45:37 · 234 阅读 · 0 评论 -
Java NIO网络通信编程
NIO简介NIO库是在JDK 1.4中引入的,NIO弥补了原来同步阻塞I/O的不足,它在标准Java代码中提供了高速的、面向块的I/O。NIO中的N可以理解为Non-blocking,不单纯是New。它支持面向缓冲的,基于通道的I/O操作方法。 NIO提供了与传统BIO模型中的 Socket 和 ServerSocket 相对应的 SocketChannel 和 ServerSocketChannel 两种不同的套接字通道实现,两种通道都支持阻塞和非阻塞两种模式。阻塞模式使用就像传统中的支持一样,比原创 2020-11-16 13:53:56 · 261 阅读 · 0 评论 -
Java遍历Map的4种方式
public static void main(String[] args) { // 循环遍历Map的4中方法 Map<Integer, Integer> map = new HashMap<Integer, Integer>(); map.put(1, 2); // 1. entrySet遍历,在键和值都需要时使用(最常用) for (Map.Entry<Integer, Integer>.原创 2020-11-13 14:08:27 · 332 阅读 · 0 评论 -
Java发送HttpClient请求和接收响应结果
1、写一个HttpRequestUtils工具类,包括post请求和get请求 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32原创 2020-10-21 09:36:35 · 5135 阅读 · 0 评论 -
FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
fastJson对于json格式字符串的解析主要用到了一下三个类:JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。JSONObject:fastJson提供的json对象。JSONArray:fastJson提供json数组对象。我们可以把JSONObject当成一个Map<String,Object>来看,只是JSONObject提供了更为丰富便捷的方法,方便我们对于对象属性的操作。我们看一下源码。同样我们可以把JS原创 2020-10-16 14:34:58 · 876 阅读 · 0 评论 -
java解析json字符串详解
一、使用JSONObject来解析JSON数据官方提供的,所以不需要导入第三方jar包;直接上代码,如下private void parseJSONWithJSONObject(String JsonData) { try { JSONArray jsonArray = new JSONArray(jsonData); for (int i=0; i < jsonArray.length(); i++) { JSON原创 2020-10-16 14:29:10 · 3661 阅读 · 0 评论 -
Java解析复杂Json字符串方法
Jason字符串实例:{ "name": "三班", "students": [ { "age": 25, "gender": "female", "grades": "三班", "name": "露西", "score": { "网络协议": 98, "JavaEE": 92,原创 2020-10-16 14:22:11 · 1136 阅读 · 1 评论 -
八种创建Java线程的方式
1.继承Thread类并重写run()方法public class CreatingThread01 extends Thread { @Override public void run() { System.out.println(getName() + " is running"); } public static void main(String[] args) { new CreatingThread01().start(); new CreatingThread01().sta原创 2020-09-10 10:10:46 · 398 阅读 · 0 评论 -
java定时任务的三种方法
在应用里经常都有用到在后台跑定时任务的需求。本文介绍3种不同的实现方法:普通thread实现 TimerTask实现 ScheduledExecutorService实现普通thread这是最常见的,创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果。这样可以快速简单的实现,代码如下:publicclassTask1 {publicstaticvoidmain(String[] args) {// run in a se...原创 2020-09-10 10:03:18 · 247 阅读 · 0 评论 -
Java多线程详解
基本概念用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。多线程:指的是这个程序(一个进程)运行时产生了不止一个线程 并行与并发: 并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。 并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是原创 2020-09-10 10:00:15 · 502 阅读 · 0 评论 -
Java使用POI接口读写Excel文件方法
1. 准备工作1.1 在项目中引入Apache POI相关类库引入Apache POI和Apache POI-OOXML这两个类库,Maven坐标如下: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </dependency>...原创 2020-09-07 16:16:55 · 1414 阅读 · 0 评论 -
JavaFX将数据库数据输出到TableView表格中
一 、创建Fxml文件用Javafx Scene Builder 编辑页面,创建tableview(表格)和tablecolum(表格中的列),并为其设置fxid;二、生成fxml文件的控制类;三、创建数据库的连接类(使用JDBC驱动);Connect.javaimport java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;原创 2020-09-04 16:05:08 · 4050 阅读 · 1 评论 -
Java GUI处理耗时任务的三种方法
第一种:Threadnew Thread(new Runnable() {@Override public void run() {//do your work}}).start();//更新主线程UI,跑在主线程。runOnUiThread(new Runnable(){@Overridepublic void run(){//TODOAuto-generatedmethodstubprogressBar.setVisibility(Vi...原创 2020-09-04 10:31:27 · 536 阅读 · 0 评论 -
maven项目POM文件配置JDK方法
MAVEN POM文件不同JDK配置方法<properties> <maven.compiler.source>10</maven.compiler.source> <maven.compiler.target>10</maven.compiler.target></properties><plugin> <groupId>org.apache.maven.plugins.原创 2020-08-27 09:49:31 · 2418 阅读 · 0 评论 -
Java 实现 HTTP 请求的三种方式
目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现。HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求。HttpClient3.1 是 org.apache.commons.httpclient下操作远程 url的工具包,虽然已不再更新,但实现工作中使用httpClient3.1的代码还是很多,HttpClient4.5是org.apache.http.client下操作远程 url的工具包,最新的;另一种则原创 2020-08-19 13:21:03 · 747 阅读 · 0 评论 -
Java实现多线程的四种方式
1.继承Thread类实现多线程 run()为线程类的核心方法,相当于主线程的main方法,是每个线程的入口 a.一个线程调用多次start()方法将会抛出线程状态异常,也就是的start()只可以被调用一次 b.native生明的方法只有方法名,没有方法体。是本地方法,不是抽象方法,而是调用c语言方法 registerNative()方法包含了所有与线程相关的操作系统方法 c. run()方法是由jvm创建完本地操作系统级线程后回调的方法,不可以手动调用(否...原创 2020-08-14 11:21:04 · 439 阅读 · 0 评论 -
java实现线程间通信的四种方式
synchronized同步public class MyObject { synchronized public void methodA() { //do something.... } synchronized public void methodB() { //do some other thing }}public class ThreadA extends Thread { private MyObject原创 2020-08-14 11:05:16 · 267 阅读 · 0 评论 -
Java实现线程间通信方法
一般情况下每个子线程完成各自的任务就可以结束了。不过有时希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及到的知识点:thread.join(), object.wait(), object.notify(), CountdownLatch, CyclicBarrier, FutureTask, Callable 等。下面从几个例子作为切入点来讲解下 Java 里有哪些方法来实现线程间通信。如何让两个线程依次执行? 那如何让 两个线程按照指定方式有序交叉运行呢? 四个线程原创 2020-08-14 10:58:29 · 125 阅读 · 0 评论 -
JAVA多线程之线程间的通信方式
一线程间的通信方式①同步这里讲的同步是指多个线程通过synchronized关键字这种方式来实现线程间的通信。参考示例:public class MyObject { synchronized public void methodA() { //do something.... } synchronized public void methodB() { //do some other thing }}publ.原创 2020-08-14 09:18:51 · 99 阅读 · 0 评论 -
Eclipse安装JavaFX工具e(fx)clipse
1- 获取安装的链接打开地址:http://www.eclipse.org/efxclipse/install.html2- 安装打开 Eclipse,点击菜单 Help -> Install New Software,如下图所示 -在上图的新弹出界面中选择 “Add”,如下图所示 -在新弹出的界面中输入:Name: e(fx)clipseLocation: http://download.eclipse.org/efxclipse/updates-released/.原创 2020-08-06 11:03:59 · 3361 阅读 · 1 评论