自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Java如何用Java Native Interface(JNI)技术调用C++动态链接库dll全过程

要想构建出dll并供Java调用有以下几个步骤:1.编写Java代码并声明native方法接口2.将有native方法声明的Java类编译为c++中的头文件3.创建c++动态链接库工程并导入上一步的头文件4.实现头文件中的内容,build工程5.将生成的dll文件拷贝到Java项目下,即可运行Java程序并调用dll

2023-09-15 11:09:23 999

原创 vim编辑器快捷键

Linux-vim编辑器常用快捷键

2022-08-06 20:33:28 519 1

原创 Docker快速入门

Docker安装及基础命令入门

2022-06-26 17:29:31 300

原创 POI操作Excel入门

POIApache POI - the Java API for Microsoft DocumentsHSSF:最多处理65536行,否则抛出IllegalArgumentException异常过程中写入缓存而不操作磁盘,最后一次性写入磁盘,速度快XSSF:比HSSF写出更多数据耗内存,速度缓慢,仍然有上限,文件过大时抛出OOM异常SXSSF:比HSSF写出更多数据速度快且占用更少内存实现“Big’GridDemo”策略的流式XSSFWorkbook版本,只有可配置

2022-04-04 20:21:29 422

原创 Java集合篇

Java集合1. 单列集合Collection接口概述集合层次结构中的根界面 。 集合表示一组被称为其元素的对象。 一些集合允许重复元素,而其他集合不允许。 JDK不提供此接口的任何直接实现:它提供了更具体的子接口的实现,如Set和List 。 该界面通常用于传递集合,并在需要最大的通用性的情况下对其进行操作。Colection接口继承自Iterable接口,Iterable接口中定义了返回迭代器的方法Iterator iterator(),因此只要是实现了Collection接口的集合都具有迭

2022-04-01 12:49:42 919

原创 MySQL多表查询练习

有四张表部门表职务表员工表工资等级表创建表的SQL:-- 部门表CREATE TABLE dept ( id INT PRIMARY KEY PRIMARY KEY, -- 部门id dname VARCHAR(50), -- 部门名称 loc VARCHAR(50) -- 部门所在地);-- 添加4个部门INSERT INTO dept(id,dname,loc) VALUES (10,'教研部','北京'),(20,'学工部','上海'),(30,'销售部',

2021-11-14 17:19:25 102

原创 表达式求值

对表达式求值时分为三步:将中缀表达式转换为List,方便遍历将中缀表达式的List转化为后缀表达式的List计算后缀表达式表示的List的值运行结果如下将中缀表达式字符串转为List,方便后面遍历public static List<String> getInfixArrayList(String s){ //中缀字符串转为list List<String> arrayList = new ArrayList<String>(); int

2021-11-13 23:19:05 339

原创 解析自定义注解代替配置文件

注解中的抽象方法即是注解的属性。使用时先对属性赋值再获取属性值即可。首先定义一个自己的注解@Target(value = {ElementType.TYPE}) //作用于类上@Retention(value = RetentionPolicy.RUNTIME) //作用于运行阶段@Documented //表示定义的注解(MyAnno3)会被抽取到api文档@Inherited //描述该注解(MyAnno3)会被子类继承public @interface Pro { String cl

2021-10-15 11:42:31 94

原创 webapps目录中部署Web项目后无法访问servlet资源

在eclipse或IDE里部署web项目的时候能正常访问,而在Tomcat的webapps目录中使用war包部署一个Web项目后,html和jsp文件的访问都没有问题,但是访问一个servlet类的时候提示500 UnsupportedClassVersionError错误,刷新后错误代码变为404。这是因为eclipse或IDE里面的JDK版本比本地的tocmat的版本高,导致在访问时JVM不能正确解析.class文件解决办法:用低版本的JDK如1.8重新编译servlet类。用低版本JDK编译后的

2021-10-08 23:05:52 980

原创 javax.servlet不存在javax.servlet.http不存在或未定义等编译错误

javax.servlet不存在或未找到,程序包javax.servlet.http不存在或未定义等错误。原因是servlet和JSP均不是java平台javase(标准版)的一部分,而是JavaEE的一部分,因此必须告知编译器servlet的位置。解决方案:在tomcat文件夹中搜索servlet-api.jar,并将servlet-api.jar的完整路径追加到环境变量CLASSPATH中(包含后缀名.jar,建议不要有路径中不要有中文和空格)。保存后即可使用javac编译器编译servlet的子

2021-10-08 22:34:19 10062

原创 Java反射机制的常用方法

1.获取成员变量* Filed[] getFields(); //获取所有public修饰的成员变量* Filed getField(String name); //获取指定name的public成员变量* Field[] getDeclaredFields(); //获取所有成员变量,不考虑修饰符* Filed getDeclaredField(String name); //获取指定成员变量,不考虑修饰符* 获取值:get(Object obj);* 设置值:set(Ob

2021-09-14 11:06:52 89

原创 java反射机制获取class字节码对象的三种方式

获取类对象三种方式:source源代码阶段:Class.forname(“全类名”);//多用于读取配置文件加载类的时候Class类对象阶段(加载进内存):类名.class //多用于参数传递的时候Runtime运行时阶段:对象.getClass(); //多用于对象获取字节码的方式同一个字节码文件(.class)在一次程序运行过程中只会加载一次不论通过哪一种方式获取的class对象都是同一个,即在堆中的地址相同测试代码public class Reflect_getClass {

2021-09-14 10:57:30 281

原创 Linux中使用pipe()创建管道实现进程间通信

Linux中进程间使用无名管道通信。使用pipe()函数创建无名管道。利用管道进行通信时,管道中无数据时,读操作会阻塞,管道满时,写操作会阻塞。即保证了一次只有一个进程访问管道,满足了互斥的需求。在程序中,四个子进程共用一个管道,实现十万个数相加,每个进程实现两万个数相加,并把结果传递给父进程,父进程再把四个子进程的结果相加。代码:/*date:2021-05-07 * author:liyang*/#include <stdio.h>#include <stdlib.h

2021-05-16 21:19:43 617

原创 Linux中fork()系统调用创建两个子进程

使用系统调用fork()创建两个子进程:#include <stdio.h>#include <unistd.h>int main(){ int fpid = fork(); if(fpid == 0){ printf("%d I am Child 1. My parent is %d\n",getpid(),getppid()); //此子进程下一条语句将会执行return 0; }else if(fpid > 0){ int fpid2 = for

2021-04-09 23:01:00 26395 4

原创 ps命令查看Linux下进程

查看Linux下进程

2021-04-01 15:58:19 1097

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除