Java进阶笔记

com4j 三个jar包.zip java操作Visio进行绘图需要的三个jar包及其使用教程 立即下载

Maven构建工具

  1. Maven仓库搜索jar包
  2. 优点:第三方库很强大,要学会在巨人肩膀上工作
  3. 缺点:搜索,确定版本,下载jar包,工作量大且不易
  4. 在Maven仓库搜索jar包,添加到pom.xml,右键项目-run as-build,run as即可。

Maven概念和实战

  1. Maven是一个构建工具,自动下载中心仓库的jar文件,可以更改为aliyun镜像,编译测试运行和打包发布Java项目
  2. 对于某一个第三方软件的版本,本地.m2仓库只需存储一个拷贝,却可以为多个Maven项目提供编译和运行支持
  3. Pom.xml: 包含了项目信息、依赖信息、构建信息
  4. 其中构件信息包括组织groupId,artifactId,version

单元测试

  1. 软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
  2. 软件测试分类:单元vs集成测试,白盒vs黑盒测试,自动vs手动测试,回归测试,压力测试
  3. 单元测试,是指对软件中的最小可测试单元进行检查和验证。通常是一个函数/方法。
  4. 单元测试是已知代码结构进行的测试,属于白盒测试。
  5. 集成测试是将多个单元相互作用,形成一个整体,对整体协调性进行测试。
  6. 一般从构成系统的最小单元开始,持续推进到单元之间的接口直到集成为一个完成的软件系统为止。
  7. 白盒测试,全面了解程序内部逻辑结构,对所有的逻辑路径都进行测试。一般由程序员完成。
  8. 黑盒测试,又名功能测试,将程序视为一个不能打开的黑盒子。在完全不考虑程序内部结构和内部特性的情况下,检查程序功能是否按照需求规格说明书的规定正常使用。一般由独立的使用者完成。
  9. 自动测试:用程序批量、反复测试程序,并可自动检查程序结果是否满足预定的要求。
  10. 手动测试:手动执行程序,手动输入所需要的参数,手动检查程序结果是否满足预定的要求。
  11. 回归测试:修改旧代码后,重新进行测试以确定修改没有引入新的错误或导致其他代码产生错误。
  12. 回归测试在整个软件测试过程中占有很大的比重。软件快速迭代开发过程中,新版本的连续发布使得回归测试进行的更加频繁。
  13. 测试策略:基于main函数的策略,优点:简单,缺点“无法自动判断被测对象的行为是否符合预期,main方法需要添加大量的代码,这些代码在发布时候也需要手动删除,分散程序员在开发时的关注点。
  14. 基于自动化测试框架的策略:初始化,输入测试数据执行被测试代码,获取系统实际结果,比较结果是否一致,得出结论。
  15. JUnit是一个Java语言的单元测试框架。

JUnit

  1. 导入依赖,进行JUnit测试。

Java字符编码

  1. 字符编码:字符:0,a;计算机只用0和1,1bit;ASCII码:美国信息交换标准代码,奠定计算机编码基础;用一个字节来存储a-z,A-Z,0-9和一些常用符号;用于显式英语和西欧语言;回车键(13,00001101)
  2. 字符编码:ASCII编码采用1Byte,8bits,最多256个字符;ASCII无法适应其他地方,如汉字数量有十几万;扩展编码(加字节),Unicode编码。
  3. 中文编码:GB2312,GBK,GB18030,Big 5,GB18030>GBK>GB2312
  4. 字符集:包括哪些字符元素
  5. 编码:每个字符元素用多少号码(0和1的组合)来表示。
  6. Unicode字符集,目标:不断扩充,存储全世界所有的字符。
  7. 编码方案,utf-8兼容ASCII,变长(1-4个字节存储字符),经济,方便传输;utf-16,用变长来存储所有字符,utf-32,用32bits来存储所有字符。
  8. ANSI编码:记事本默认的编码。
  9. 源文件编码:采用UTF-8编码。
  10. 程序内部采用UTF-16编码存储所有字符
  11. 和外界(文本文件)的输入输出尽量采用UTF-8编码,不能使用一种编码写入,换另外一种编码读取。

Java国际化编程

  1. i18n:多语言版本的软件,一套软件,多个语言包;根据语言设定,可以切换显式文本。
  2. Java是第一个设计成支持国际化的编程语言。ResourceBundle包和Locale包
  3. 语言文件:一个Properties文件,包含K-V对,每行一个K-V
  4. 语言文件:存储文件必须是ASCII码文件,如果是ASCII以外的文自,必须用Unicode的表示\uxxxx,可以采用native2ascii.exe进行转码

Java高级字符串处理

  1. 正则表达式:识别一个字符串满足一定的规律
  2. 规则表达式,计算机科学的一个基础概念,用事先定义好的一些特定字符、及这些特定字符的组合,组成一个规则字符串
  3. 1+$,代表着一个字符串,只能由26英文字母组成
  4. 作用:测试字符串内的模式,识别/替换文本。提取文本
  5. 正则表达式独立于特定语言,匹配模板是定界符,原子,特殊功能字符(元字符),模式修政符
  6. 其他字符串操作:字符串和集合互转;字符串转义对关键字符转义;变量名字格式化,名字驼峰命名;字符串输入流,将字符串转为一个输入流,输入流可以定义为Scanner,这是Online Judge的实现原理。
  7. String.join仅支持字符串,StringUtils支持更多元素的链接

XML简介

  1. 数据是主体,但是单独的数据含义模糊,数据加含义,适用于传输数据,而不是显示数据HTML
  2. XML(eXtensible Markup Language)
  3. 可扩展标记语言:意义+数据
  4. 标签可自行定义,具有自我描述性
  5. 纯文本表示,跨系统/平台/语言
  6. W3C标准,包括几乎所有的Unicode字符
  7. 常规语法:任何的起始标签都必须有一个结束标签;简化写法,例如可以写成.大小写敏感,如和不一样;每个文件都要有一个根元素。标签必须按合适的顺序进行嵌套,不可错位;所有的特性都必须有值,且在值的周围加上引号。需要转义字符,如’<'需要用<代替。注释:
  8. XML拓展:DTD定义XML文档的结构,使用一系列合法的元素来定义文档结构,可嵌套在xml文档中,或者在xml中引用。
  9. XML Schema:定义XML文档的结构,DTD的继任者,支持数据类型,可扩展,功能更完善、强大;采用xml编写
  10. XSL:扩展样式表语言,XSL作用于XML,等同于CSS作用于HTML,内容XSLT转换XML文档,XPath在XML文档中导航,XSL-FO,格式化XML文档
  11. XML解析方法:树结构,DOM:文档对象模型,擅长小规模读/写;流结构:流机制解释器(推模式),擅长读;Stax流机制解释器(拉模式),擅长读
  12. DOM处理方法:W3C推荐的标准API,直观易用;其处理方式是将XML整个作为类似树结构的方式读入内存中以便操作及解析,方便修改。
  13. 解析大数据量的XML文件,会遇到内存泄漏及程序崩溃的风险
  14. SAX:Simple API for XML采用事件/流模型来解析XML文档,更快速、更轻量;不像DOM加载整个文档,内存要求较低。SAX对XML文档的解析为一次性读取,不创建/不存储文档对象,很难同时访问文档中的多处数据;推模型。当它每发现一个节点就引起一个事件,而我们需要编写这些事件的处理程序。关键类:DefaultHandler
  15. Stax方法:流模型中的拉模型,在遍历文档时,会把感兴趣的部分从读取器中拉出,不需要引发事件,允许我们选择性地处理节点。这大大提高了灵活性,以及整体效率;两套处理API基于指针的API,基于迭代器的API。

JSON简介及特性

  1. JSON:JavaScript Object Notation,JS对象表示法;是一种轻量级的数据交换格式;类似XML,更小、更快更易解析;最早用于Javascript中,容易解析,最后推广到全语言,尽管使用Javascript语法,但是独立于编程语言。
  2. 名称/值对:JSON对象:{”name“:};数据在键值对中;数据由逗号分隔;花括号保存对象。
  3. JSON数组:方括号保存数组
  4. org.json: JSON官方推荐的解析类:简单易用,通用性强,复杂功能欠缺。
  5. GSON:Google出品,基于发射,可以实现Json对象,json字符串和Java对象互转。
  6. Jackson:号称最快的JSON处理器,简单易用,社区更新和发布速度比较快。
  7. JSON主要用途:数据交换,生成,解析,校验,和JAVA Bean对象进行互解析,具有一个无参的构造函数,可以包括多个属性,所有属性都是private,每个属性都有相应的Getter/Setter方法,JavaBean用于封装数据,又可成为POJO(Plain Old Java Object)

图形图像简介及解析

  1. 图形图像基本概念:图形Graph,矢量图,根据几何特性来画,比如点,直线弧线等。
  2. 图像:Image,由像素点组成,格式:jpg,png,bmp,svg,wmf,gif,tiff。颜色:RGB(Red,Green,Blue)
  3. 图形Graph,awt包,2D库,Color,Stroke。
  4. 图像:Image,javax.imageio包,ImageIO,BufferedImage。
  5. Java原生支持jpg,png,bmp,wbmp,gif
  6. javax.imageio,ImageIO,自动封装多种ImageReader,ImageWriter,读写图像文件,read读取图片
  7. java.awt.image.BufferedImage图像在内存中的表示类,getHeight获取高度,getWidth获取宽度,图像文件读写截取合并。
  8. 验证码生成:一个图片文件,外框,底色,干扰线,字母

条形码和二维码

  1. 条形码:将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。通常代表一串数字/字幕,每一位有特殊含义,一般数据容量30个数字/字幕,专门的机构管理:中国物品编码中心。
  2. 二维码:用某种特定的几何图形按一定规律在平面(二位方向上)分布的黑白相间的图形记录数据符号信息;比一维条形码能存更多信息,表示更多数据类型;能够存储数字/字母/汉字/图片等信息;字符集128个字符/可存储几百到几十KB字符/抗损坏
  3. Zxing,Google出品,支持1D和2D的Barcode,主要类:BitMatrix位图矩阵,MultiFormatWriter位图编写器,MatrixToImageWriter写入图片

Docx简介和解析

  1. docx为主要研究对象,文字样式,表格,图片,公式。
  2. 常见功能:docx解析,docx生成
  3. 第三方库:Jacob,COM4J;POI,docx4j,OpenOffice/Libre Office SDK;Apose;OpenXML

Xlsx(Excel)解析

  1. 与word类似,分为xls和xlsx,xlsx以XML为标准为主要研究对象,数据-sheet,行列,单元格
  2. CSV文件:全程Comma-Seperated Values文件,逗号分隔,广义CSV文件,可以由空格/Tab键/分号/···/完成字段分隔

PDF简介与解析

  1. 便携式文档格式,字型嵌入系统可使字型随文件一起传输;结构化的存储系统,绑定元素和任何相关内容到单个文件,带有适当的数据压缩系统。一般版本是1.4+
  2. 常见功能处理:解析PDF,生成PDF转化,第三方包PDFBox,iText,XDocReport

多进程和多线程简介

  1. 当前的操作系统都是多任务OS
  2. 每个独立执行的任务就是一个进程
  3. OS将时间划分为多个时间片(时间很短
  4. 每个时间片内将CPU分配给某一个任务,时间片结束,CPU将自动回收,再分配给另外任务。从外部看,所有任务都是同时在执行。但是在CPU上,任务是按照串行依次运行(单核CPU)。如果是多核,多个进程任务可以并行。但是单个核上,多进程只能串行执行。
  5. 多进程的优点:可以同时运行多个任务;程序因IO堵塞时,可以释放CPU,让CPU为其他程序服务;当系统有多个CPU时,可以为多个程序同时服务;
  6. 多进程的缺点:太笨重,不好管理;太笨重,不好切换;
  7. 多线程概念:一个程序可以包括多个子任务,可串/并行;每个子任务可以称为一个线程;如果一个子任务阻塞,程序可以将CPU调度另外一个子任务进行工作。这样CPU还是保留在本程序中,而不是被调度到别的程序(进程)去。这样,提高本程序所获得CPU时间和利用率。
  8. 多进程vs多线程:线程共享数据;线程通讯更高校;线程更轻量级,更容易切换;多个线程更容易管理。

java多线程实现

  1. 继承java.lang.Thread,或实现java.lang.Runnable接口来实现run方法,
  2. 启动:start方法,会自动以新进程调用run方法;直接调用run方法,将变成串行执行;同一个线程,多次start会报错,只执行第一次start方法;多个线程启动,其启动的先后顺序是随机的;线程无需关闭,只要其run方法执行结束后,自动关闭;main函数(线程)可能早于新线程结束,整个程序并不终止;整个程序终止是等所有的线程都终止(包括main函数线程),底层使用JNI实现.
  3. 哪个先后执行看的是jvm
  4. Thread占据了父类的名额,不如Runnable方便,Thread类实现Runnable,Runnable启动时需要Thread类的支持;Runnable更容易实现多线程中资源共享

java多线程信息共享

  1. 线程类:通过继承Thread或实现Runnable;通过start方法,调用run方法,run方法工作;线程run结束后,线程退出。
  2. 粗粒度:子线程与子线程之间,和main线程之间缺乏交流。
  3. 细粒度:线程之间有信息交流通讯:通过共享变量达到线程共享;类似MPI并行库直接发送消息。
  4. MPI是一个信息传递应用程序接口,包括协议和语义说明;MPI的目标是高性能,大规模性,和可移植性;MPI在今天仍为高性能计算的主要模型
  5. 通过共享变量在多个线程中共享消息:static变量,同一个Runnable类的成员变量
  6. 多线程信息共享问题:工作缓存副本;关键步骤缺乏加锁限制
  7. i++并非原子性操作:读取贮存i到工作缓存副本中,每个cpu执行副本i+1操作;cpu将结果写入到缓存副本中,数据从工作缓存刷到主存中。
  8. 变量副本问题的解决方法:采用volatile关键字修饰变量;保证不同线程对共享变量操作时的可见性。
  9. 关键步骤加锁限制:互斥:某一个线程运行一个代码段(关键区),其他线程不能同时运行这个代码段;同步:多个线程的运行,必须按照某一种规定的先后顺序来运行;互斥是同步的一种特例;
  10. 互斥的关键字是synchronized:synchronized代码块函数,只能一个线程进入;synchronized加大性能负担,但是使用简便。

多线程管理

  1. 线程类:通过继承Thread或实现Runnable;通过start方法,调用run方法,run方法工作;线程run结束后,线程退出;
  2. 粗粒度:子线程与子线程之间,和main线程之间缺乏同步;
  3. 细粒度:线程之间有同步协作,等待,通知/唤醒,终止
  4. 线程状态:-NEW刚创建,-RUNNABLE就绪态,RUNNING运行态,BLOCK阻塞态,THREMINATED结束态
  5. Thread的部分API已经废弃,暂停和恢复suspend/resume,消亡:stop/destroy
  6. 线程阻塞/和唤醒:sleep,时间一到,自己会醒来;wait/notify/notifyAll,等待,需要别人来唤醒;join,等待另外一个线程结束;interrupt,向另外一个线程发送中断信号,该线程收到信号,会触发InterruptedException(可解除阻塞),并进行下一步处理。
  7. 线程被动地暂停和终止:依靠别的线程来拯救自己;没有及时释放资源
  8. 线程主动暂停和终止:定期检测共享变量;如果需要暂停或者终止,先释放资源,再主动动作;暂停Thread.sleep(),休眠;终止:run方法结束,线程终止。
  9. 多线程死锁:每个线程互相持有别人需要的锁;预防死锁,对资源进行等级排序
  10. 守护(后台)线程:普通线程结束,是run方法运行结束;守护线程的结束,是run方法运行结束,或main函数结束;守护线程永远不要访问资源,如文件或数据库
  11. 线程查看工具jvisualvm

网络基础知识

  1. 每个网卡上有全球唯一单独的硬件地址,MAC地址
  2. IP地址:每个网卡/机器都有一个或多个IP地址。
  3. IPV4:192.168.0.100,每段从0到255
  4. IPV6:128bit长,分成8段,每段4个16进制数
  5. port:端口0-65535,-0到1023OS已经占用了,80是Web,23是telnet;-1024到65535,一般程序可使用(谨防冲突)
  6. 两台机器通讯就是在IP+Port上进行的
  7. 保留ip:127.0.0.1本机
  8. 公网(万维网/互联网)和内网(局域网):网络是分层的,最外层是公网/互联网,底下的每层都是内网;ip地址可以在每个层次的网重用;tracert看当前机器和目标机器的访问中继。
  9. 通讯协议:TCP和UDP,TCP是传输控制协议,面向连接的协议;两台机器的可靠无差错的数据传输;双向字节流传递。
  10. UDP是用户数据报协议,面向无连接协议,不保证可靠的数据传输,速度快,也可也在较差的网络下使用
  11. QQ是以UDP协议为主的。

Java UDP编程

  1. 计算机通讯:数据从1个IP的port出发(发送方),运输到另外一个IP的port(接受方)
  2. UDP:无连接无状态的通讯协议,发送方发送消息,如果接收方刚好在目的地,则可以接受。如果不再,那这个消息就丢失了;发送方也无法得知是否发送成功。UDP的好处就是简单,节省,经济。
  3. DatagramSocket:通讯的数据管道,send和receive方法,绑定一个IP和Port
  4. DatagramPacket:集装箱:封装数据;地址标签:目的地IP+Port
  5. 实例:无主次之分,接受方必须早于发起方执行。

Java TCP编程

  1. TCP协议:有链接、保证可靠的无误差通讯分为以下部分
  2. 服务器创建一个ServerSocket,等待连接
  3. 客户机创建一个Socket,连接到服务器
  4. 服务器ServerSocket接收到连接,创建一个Socket和客户的Socket建立专线连接,后续服务器和客户机的对话(这一对Socket)会在一个单独的线程(服务器端上)运行
  5. 服务器的ServerSocket继续等待连接,返回第一步。
  6. ServerSocket:服务器码头,需要绑定port,如果有多块网卡,需要绑定一个IP地址
  7. Socket:运输通道,客户端需要绑定服务器的地址和Port,客户端往Socket输入流写入数据,送到服务端;客户端从Socket输出流取服务器端过来的数据,服务端反之亦然。
  8. 服务端等待响应时,处于阻塞状态
  9. 服务端可以同时响应多个客户端
  10. 服务端每接受一个客户端,就启动一个独立的线程与之对应
  11. 客户端或者服务端都可以选择关闭这对Socket的通道
  12. 实例:服务端先启动且一直保留;客户端后启动,可以先退出

Java HTTP编程

  1. 网页是特殊的网络服务(HTTP)在浏览器输入URL地址,浏览器将连接到远程服务器上(IP+80port),请求下载一个HTML文件下来,放到本地临时文件夹中,在浏览器显式出来。
  2. HTTP访问方式:GET:从服务器获取资源到客户端;POST:从客户端向服务器发送数据;PUT:上传文件;DELETE:删除文件;HEAD:报文头部;OPTIONS:询问支持的方法;TRACE:追踪路径;CONNECT:用隧道协议连接代理
  3. JavaHTTP编程,支持模拟成浏览器的方式去访问网页
  4. URL,代表一个资源
  5. URLConnection表示获取资源的连接器;根据URL的openConnection()方法获得URLConnection,connect方法,建立和资源的联系通道;getInputStream方法,获取资源的内容

HttpClient

  1. 爬虫,自动刷票机器人,各类Web监控,Web测试

Java NIO 编程

  1. 传统的TCP和UDP通讯:Blocking I/O,简写BIO
  2. NIO与BIO相反,Non-Blocking I/O 提供非阻塞通讯等方式,避免同步I/O通讯效率过低,一个线程可以管理多个连接,减少线程多的压力
  3. NIO表示非阻塞IO,主要在nio包,主要类Buffer缓存区,Channel通道,Selector多路选择器
  4. Buffer缓冲区,一个可以读写的内存区域,ByteBuffer,CharBuffer,DoubleBuffer,IntBuffer,LongBuffer,ShortBuffer(StringBuffer不是)
  5. 四个重要属性,capacity容量,position读写位置,limit界限,mark标记,用于一个读/写操作
  6. Channel通道:全双工的,支持读/写(而Stream流是单向的);支持异步读写;和Buffer配合,提高效率;ServerSocketChannel服务器TCP Socket接入通道,接收客户端;SocketChannel TCP Socket通道,可支持阻塞/非阻塞通讯;DatagramChannel UDP通道;FileChannel文件通道
  7. Selector多路选择器:每隔一段时间,不断轮询注册在其中的Channel,如果有一个Channel有接入,读,写操作,就会被轮询出来;根据SelectionKey可以获取相应的Channel,进行后续IO操作;避免过多线程;SelectionKey四种类型:OP——CONNECT,OP_ACCEPT,OP_READ,OP_WRITE

java AIO编程

  1. 通讯的同步:是指客户端和服务端直接的通讯等待方式。这里的同步的反义词是异步,即无需等待另外一端操作完成。
  2. NIO属于同步通讯
  3. AIO属于异步IO,采用回调方法进行处理读写操作。主要类。
  4. 三张I/O的区别:BIO为阻塞,同步,简单,线程对比1:1,低;NIO为非阻塞,同步,较难,线程对比N:1,性能高;AIO为非阻塞,异步,困难,线程对比N:1,性能高

Netty编程

  1. 一个非阻塞的客户端-服务端网络通讯框架
  2. 基于异步事件驱动模型
  3. 简化Java的TCP和UDP编程
  4. 支持HTTP/2,SSL等协议,支持JSON
  5. 关键技术:通道和事件
  6. 事件:按照数据流向进行分类,入站事件: 连接激活/数据读取/;出站事件:打开到远程连接/写数据
  7. 事件处理:Channel通道发生数据或状态改变;EventLoop会将事件分类,并调用ChannelHandler的回调函数;程序员需要实现ChannelHandler内的回调函数;ChannelInboundHandler/ChannelOutboundHandler
  8. ChannelHandler工作模式:责任链。
  9. 责任链模式:将请求的接收者连成一条链;在链上传递请求,直到有一个接收者处理该请求;避免请求者和接收者的耦合。
  10. ChannelHandler可以有多个,依次进行调用;ChannelPipeline作为容器,承载多个ChannelHandler
  11. ByteBuf:强大的字节容器,提供丰富API进行操作。

邮件知识

  1. 邮件使用,注册一个电子邮件帐号
  2. Web邮件管理界面
  3. 邮件客户端软件(Outlook/Foxmail等)
  4. 邮件:一封信,包括发件人/收件人/文本/图片/附件等
  5. 邮件客户端,邮件服务端
  6. 通过SMTP服务器收存,通过POP3服务器发给王五
  7. 邮件客户端:Foxmail,OutLook,Thunderbird
  8. 邮件服务端:Microsoft Exchange Server,IBM,SendMail
  9. 主要协议(发送端口25,接收端口110)发送是SMTP,接受是POP3;接受也可也是IMAP如摘要浏览,选择下载附件,多文件夹,网络硬盘
  10. 邮件格式:RFC822邮件格式,邮件头,文字邮件正文;MIME图片/音频/视频等等
  11. 邮件编码:纯英文邮件,ASCII编码,7Bit;8Bit编码;BASE64,6个bit/Quoted-printable对每个ASCII字符用”=“加上这个字符的十六进制编码
  12. 邮件中继:通过别人的邮件服务器将你的邮件系统的邮件送到目标地址
  13. 垃圾邮件
  14. 邮件和邮件服务器的安全
  15. 邮件防火墙

Java可进行混合编程

基本没用。


  1. A-Za-z ↩︎

comet4j库文件 包含comet4j.js 和 comet4j-tomcat7.jar 立即下载

相关推荐

Windows 64位com4j 详细使用教程

Windows 64位JAVA 读取visio word excel 数据及详细jar使用说明, 自己尝试多次最后写了这个详细使用的图文教程,希望能够帮助大家

java visio_java 操作visio-- com4j方式

visio是一款强大的软件,制作各种图表,流程图等,近段时间研究visio摆放平面图,想把平面图中数据保存到数据库中,网上资料极少,研究了很多。特此写下供大家分享!希望大家多回贴,以此表达尊重和鼓励我的劳动成果。第一步,下载com4j包 ,可以我的资源里直接下载。第二步,解压缩com4j包,把args4j-2.0.1.jar,tlbimp.jar,com4j.jar放入JDK的bin目...

weixin_35949431的博客 1366

JAVA 读取visio word excel 数据及详细jar使用说明

Java主流的Native调用库,其中的args4j-2.0.1.jar,tlbimp.jar,com4j.jar包可以用于处理visio文档,还可以和word,excel交互.

Com4J - Java COM 客户端库

Com4J - Java COM 客户端库 Com4J 是一个 Java 库,用于在 Java 程序中调用 COM 对象(如 Microsoft Office 应用程序中的对象)。此库允许您以简单的方式创建 Java 类来封装 COM 对象,并通过使用注释来自动生成相应的代码。 什么是 COM? COM(Component Object Model)是微软开发的一种编程接口标准,它允许不同的软件组...

gitblog_00010的博客 674

com4j.jar资料

com4j开发文档,包括jar包,源码,api,关于wmi/excel/world/powerPoint/等的示例。

基于com4j解析visio文件代码

1、把args4j-2.0.1.jar,tlbimp.jar,com4j.jar放入JDK的bin目录下 2、cmd进入JDK安装目录,运行 java -jar tlbimp.jar -o visio -p test "D:\Program Files\Microsoft Office\Office14\VISLIB.DLL"。在JDK安装目录出现一套操作visio的类库(可以不做,资源包括生成的类库,test文件夹就是) 3、把args4j-2.0.1.jar加入到你的项目里。运行VisioMain.java类就成功了

com4j学习(1):Java操作Visio之Java读取Visio图形关系并存储到XML文件中

前言: MicroSoft Visio是微软旗下一款非常非常出色的绘图软件,可以用来绘制各种各样的图形(如流程图、UML、工程图等)。现在有这样一个需求,我们想读取visio中的图形的形状、属性、连接关系等到程序中(java、c++、python都行),这样我们就可以将Visio中的图形之间存在的关系以其他的形式(XML、JSON等)进行存储。这样一来,就扩展了Visio的功能,不仅能得到图形文...

欢迎来到Jimmy的博客 1万+

GROMACS+PLUMED联合安装避坑指南:为什么你的plumed patch总是失败?

本文深入解析GROMACS与PLUMED联合安装中补丁失败的常见原因,并提供详细的避坑指南。针对版本兼容性、环境配置和编译选项等关键问题,给出从源码选择、环境搭建到手动合并补丁的完整解决方案,帮助用户成功整合这两个强大的分子动力学工具,实现增强采样模拟。

weixin_29302047的博客 287

com4j java_java – com4j在Windows 64位上

我已经下载了最新的com4j罐子,我正试图通过他们最简单的例子.我使用64位Windows 7并使用64位JVM.当我运行命令时(来自com4j教程):java -jar tlbimp.jar -o wsh -p test.wsh %WINDIR%\system32\wshom.ocx我明白了:Exception in thread "main" java.lang.UnsatisfiedLink...

weixin_29056145的博客 715

手把手教你用MATLAB/Simulink模拟微电网潮流方向(附代码下载)

本文提供了一份详细的MATLAB/Simulink微电网潮流仿真实战指南。通过手把手教学,指导读者从零搭建包含光伏、储能和负荷的微电网模型,并模拟并网、孤岛等多种运行场景下的潮流方向变化。文章核心在于利用Simulink实现微电网的动态潮流分析与可视化,帮助工程师深入理解分布式能源系统中的功率平衡与控制策略。

weixin_28314575的博客 106

思科网络进阶——多生成树协议(MSTP)配置的一课一得

三、实验拓扑1)设计一个网络架构,要有核心层和接入层,都使用思科交换机。2)企业有4个部门,要求这四个部门都可以上网,但分属不同的VLAN中,这样今后可以做其它安全策略以确保网络安全,这些策略如今后学到的访问控制列表ACL。3)网络架构的设计要具有冗余,防止一条线路或一台设备终端导致的业务中断。4)由于硬件冗余而产生的环路要处理好,也就是要在逻辑上(或者说通过配置)防止物理环路的产生。5)不能因为防止物理环路而导致某端口没有流量,这样浪费端口资源及设备间互联的带宽资源。

zhu52010的博客 3398

【java】java学习笔记之java 进阶

如下图所示为笔者总结的java进阶学习笔记,其中,附带有代码示例(未展开),方便理解记忆。需要源文件的请到我的资源中下载,下载地址:https://download.youkuaiyun.com/download/guaishounan/11573212 ...

guaishounan的博客 6168

加法器设计—— 原理图与VHDL设计初步

1、在DE2-115开发板上,完成4位全加器系统的设计、下载和功能演示,并在FPGA上实现1位全加器;2、完成3-8译码器的设计、下载和功能演示(利用板上的8段数码管)本次实验在组合逻辑电路的基础上,运用Verilog编程实现了四位全加器和3-8译码器的设计,同时实现了在DE2-115开发板上的下载和功能演示。整个过程加深了我对电路设计和Verilog编程的理解,同时也锻炼了解决问题的能力。

m0_74749526的博客 1237

Java进阶笔记:序

主要记录本人学习java进阶中遇到的一些问题,分享学习笔记,争取定期更新。

web18285997089的博客 429

三代测序选型指南:PacBio HiFi vs Nanopore vs Illumina技术对比与适用场景

本文深入对比了三代测序技术PacBio HiFi、Nanopore与Illumina的核心参数、成本模型和应用场景,为生物信息学研究提供选型指南。通过实测数据和技术组合策略分析,帮助实验室根据研究需求选择最适合的测序方案,涵盖基因组组装、表观遗传学等关键应用领域。

fern8的博客 901

用逻辑分析仪实测EM4095:125kHz RFID耳标解码的电压与脉宽玄学

本文通过逻辑分析仪实测EM4095芯片,深入解析125kHz RFID耳标解码中的电压与脉宽关联现象。揭示了供电电压对曼彻斯特编码脉宽的影响规律,并提供了一套可落地的调试方法论,包括信号链路解析、逻辑分析仪配置技巧及系统级稳定性提升方案,帮助开发者解决解码不稳定问题。

weixin_30629653的博客 328

Java进阶攻略:7大技能+12份进阶笔记+面试150题

以下都是阿里大牛韩飞龙推荐的主流技术,当你全部掌握上述的这些技术那么你就已经是P8级别,而且你也已经形成了自己的体系,当更加新潮的技术出来时那么你自己稍微花点时间就能吃透,毕竟那时候你已经不是以前的那个你了,12份Java进阶学习笔记(包括Spring,设计模式,redis,SpringBoot等)JVM优化,Java程序优化,tomcat优化,Linux优化,SQL优化等。面试总被问到读到源码吗,对Spring的理解等等!由于题目过多,我做成了PDF文档免费分享给大家。设计模式基本是代码的重构能力,

m0_74824091的博客 404

手把手教你学Simulink——基于智能电网与AI融合的场景实例:强化学习在并网逆变器控制中的应用

本文介绍了如何利用Simulink和强化学习工具包实现并网逆变器的智能控制。针对传统PI控制方法的局限性,提出采用强化学习(RL)构建自适应控制系统。通过详细步骤展示了从建立主电路模型、设计强化学习环境、选择训练智能体(如PPO算法)到仿真对比测试的全过程。实验结果表明,RL控制器在动态响应、THD指标和参数鲁棒性等方面优于传统PI控制器,突显了数据驱动控制在复杂电力系统中的优势。文章还探讨了该技术在微电网协同控制、在线学习等场景的拓展应用,为智能电网控制提供了新思路。

MHD0815的博客 335

Java进阶课程笔记免费分享_资源整合帖

2020年时,本人报了一个拉勾教育Java高薪训练营,花了9800元。下面是本人免费分享的每个模块的笔记。内容以笔记为主,有时候比较混乱。本人学的比较菜,大佬还是直接忽略吧。

m0_74825223的博客 749

【PINN物理信息网络】基于PINN物理信息网络求解泊松方程(python)

【PINN物理信息网络】基于PINN物理信息网络求解泊松方程(python)

k8291121的博客 2811

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java进阶学习笔记

1. 表(List) 和 集合(Set) 是java.util中定义的两个接口(interface)。2.String类对象是不可变对象(immutable object)String类对象是不可变对象(immutable object)。与此同时,内部类对象可以访问它所依附的外部类对象的成员(即使是private的成员)。11.一个接口不能继承一个抽象类,但可以通过extends同时继承多个接口,实现接口的多继承。9.接口的实现必须通过子类完成,使用关键字implements,而接口也可以多实现。

web13688565871的博客 787

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

大厂Java进阶面试解析笔记文档

在这分享一份整理了2个月的Java进阶面试解析笔记文档,包括了知识点笔记和高频面试问题解析及部分知识点视频讲解给大家!Java 基础(JVM 内存布局、GC 并发、集合、反射、网络、设计模式)对于技术人,尤其是 Java人来说,到底需要掌握什么技术才能通过筛选呢?架构(容器、注册中心、配置中心、消息中间件、缓存、任务调度)解决方案 (分库分表、分布式事物、秒杀抢购、发布部署)面试注意点 (面试流程、思考方式、其他注意点)Spring系列面试题解析及源码视频讲解。Java基础及Java集合面试题解析。

m0_74824755的博客 337

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

阿里资深架构师谈 Java 进阶攻略:7 大技能 +12 份进阶笔记 + 面试 150 题

以下都是阿里大牛推荐的主流技术,当你全部掌握上述的这些技术那么你就已经是 P8 级别,而且你也已经形成了自己的体系,当更加新潮的技术出来时那么你自己稍微花点时间就能吃透,毕竟那时候你已经不是以前的那个你了, 懂底层原理,知道性能特征,以及功能,想要弄懂新的技术那么也不会太吃力。希望这些能对你的架构师成长之路,起到一定的帮助,文末还准备许多架构进阶学习资料,可获取。JVM 优化,Java 程序优化,tomcat 优化,Linux 优化,SQL 优化等。堆,栈,队列,hash,链表等。单例模式,建造者模式。

web15085096641的博客 439
上一篇: Java基础笔记(一)
下一篇: 2020考研初试成绩出来后的一点小结
Tate_Brown
博客等级 码龄9年 39粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值