读书笔记-Java高级编程-魏勇

本书《Java高级编程》由魏勇撰写,详细介绍了Java的高级特性,包括javadoc、jar、JMX、SVN、Git等工具的使用,以及链式存储、队列、堆栈、树、二叉树等数据结构。同时,书中还涵盖了多层网络结构、Socket、WebSocket,以及MINA、状态转换等网络编程技术。此外,讨论了Java类加载器、加密算法、JAAS、JSSE、JCE等安全相关主题,并涉及RMI、CORBA和EJB在远程对象交互中的应用。最后,书中探讨了OSGi作为Java动态模块编程标准的概念和实践。
摘要由CSDN通过智能技术生成

Java高级编程 魏勇 清华大学出版社 

ISBN-9787302450948

仅供参考, 自建索引, 以备后查

 

一、javadoc、jar、JMX、SVN、Git

/** 

 * 此类注释出在执行命令后生成文档,而且只在public方法、属性上有效

 * @author Colin

 * @version 1.3.2 Colin 2020-11-19 <br/>

 *                  1.3.3 Colin 2021-01-19

 */

# javadoc [options] [packagenames] [sourcefiles] [@files]

  [options]

-sourcepath E:\workspace\socket-http test.java0.socket_http

    切换到 E:\workspace\socket-http 文件夹开始编译包 

-classpath E:\workspace\maven-repository\

    引用 E:\workspace\maven-repository\ 目录中的jar引用类

  [packagenames] 不支持递归子包,无通配符

  [@files] 读取文件内容进行编译

如 package-compile.txt 文件内容如下

com.baidu.advertisement

com.baidu.videoshare

则执行  # javadoc -d apidoc @package-compile.txt 后

会对文件中的包中的java文件进行编译


install4j   exe4j   TowerJ   jaxegen.exe   InstallAnywhere   JET   JOVE  JToExe

MANIFESAT.MF        一般放置于 META-INF/ 文件夹

Manifest-Version: 1.0

Main-Class: test.java0.socket_http.SocketHttpFileStarter

Created-By: 1.0.1 Colin

# cd /d E:\workspace\socket-http

# jar cvfm socket-http.jar MANIFEST.MF test.java0.socket_http


JMX (Java Management Extensions) 为应用程序、设备、系统植入管理功能的框架

虽然这么印刷的,还没太深入理解,倒是加入到了项目中,发现也挺有用

javax.management.MBeanServer  JMX代理层核心 (个人理解:类似于反射工具类)

javax.management.ObjectName 用于为类指定标识名,用于查找类实例对象


public static void main(String[] args) throws Exception {
	String dir = "E:/workspace/filesocket/src/main/webapp";
	HttpFileServerSocket hfss = HttpFileServerSocket.getInstance().setWebDir(dir);
	new Thread(hfss).start();

	ObjectName sn = new ObjectName("HttpFileServerSocket:name=DirSetter");
    /// MBeanServer mbs = MBeanServerFactory.createMBeanServer();
	MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); /// 推荐
    /// 为 hfss 实例注册  之后可以进行管理
	mbs.registerMBean(hfss, sn);
	
}

打到 JAVA_HOME\bin 目录下 jconsole 

# jconsole 运行 

选择对应的进程

对于我的这个程序来说,作用就是动态修改了某个属性  


Subversion:SVN服务提供程序

TortoiseSVN:SVN独立客户端

SVNService.exe:把SVN加入到Windows服务

TortoiseGit:Git客户端软件

 

二、顺序、链式存储、队列、堆栈、树、二叉树

队列 First In First Out   Vector   rear: 队列尾部   front: 队列头部

堆栈 Last In First Out   Stack

  如:进制转换可以把 余数 及最后 依次入栈,再全部出栈即可


Java中的链式是自身引用实现,C、C++中则使用指针实现

class ListNode { Object data; ListNode next; }

单向链表、单向循环链表、双向链表

interface ListIterator extends Iterator { } Java中的双向遍历接口


先根     中   左  右 

中根     左   中  右

后根     左   右  中

T=(D,R)   D:所有结点集合  R:节点关系集合

二叉树 Binary Tree  顺序存储(完全二叉树比较合适)或链式存储均可实现


Enumeration   传统数据结构使用此类遍历

public SequenceInputStream(Enumeration<? extends InputStream> e) { }

Properties extends Hashtable<Object, Object> { }

BitSet   <========

 

三、多层网络结构、Socket、WebSocket

OSI 网络七层结构 

应用层 表示层 会话层 传输层 网络层 数据链路层 物理层

TCP/IP Transport Control Protocol / Internet Protocol

  • 链路层:数据链路层或网络接口层,与操作系统的设备驱动程序和网络接口卡交互
  • 网络层:IP地址  InetAddress Inet4Address Inet6Address
  • 传输层:端口号,TCP/IP 数据传输控制 Socket ServerSocket DatagramPacket DatagramSocket MulticastSocket
  • 应用层:最上层协议 ftp http smtp pop3 telnet

URL Uniform Resource Locator

openStream()    getContent()    openConnection()

URLConnection

MIME  Multipurpose Internet Mail Extensions 多用途Internet邮件扩展

IP地址分类   <========


Socket 实现 Web 服务器   

可以参考 https://blog.csdn.net/u011225581/article/details/112516987

HTTP请求报文       请求行  请求头部  空行  请求数据 


Java中 浏览器 组件

JEditorPane  Lobo+FramePanel  JDIC+JDICPlus  SWT+Browser

J2ME cHTML Browser

Dooble

j2wap  WAP浏览器

Proteus  基于J2ME的手机浏览器

jCellBrowser  同上

MicroBrowser4ME  同上

MoDaBrowser


WebSocket  可以参考 https://blog.csdn.net/u011225581/article/details/112465492

HTTP请求头中  Upgrade: websocket   表示需要切换到 websocket 进行通信

websocket 聊天程序示例


SMTP Simple Mail Transfer Protocol 简单邮件传输协议

邮件发送示例

 

四、MINA、状态转换

MINA Multipurpose Infrastructure for Network Applications

    ApacheDirectory、AsyncWeb、ApacheQpid、QuickFIX/J、

    Openfire、SubEthaST

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值