Just 4 fun


  • 首页

  • 关于

  • 归档

Java学习笔记—— 1 历史与基本概念

发表于 2021-10-07

Java学习笔记

—— 1 历史与基本概念

最早为了开发自己的课程作业项目,于是自己学着用了Spring框架,最近寻找实习的过程中才发现,自己的Java底子太过于薄弱。所以打算从头开始学习,写一篇文档来记录自己的学习历程。

一、最早的C/C++

  • 自行管理指针与内存管理
  • 贴近硬件,数据容量随平台改变
  • C++加入了类,可以面向对象编程

    二、Java的诞生

  • 1995 面向网页开发了图形页面的程序——Applet
  • 98年分成三路
    • J2SE 标准版-桌面端
    • J2ME 移动版-移动端
    • J2EE 企业版-服务器端
  • 主要框架和平台
    • Maven
    • Tomcat
    • Spring
    • Eclipse,idea
  • 基于Java语言的项目
    • Hadoop(2006)
    • Android(2008)

      Java 特性与优势

  • 简单
  • 面对对象(一切皆对象)
  • 一次写到处执行
  • 高性能
  • 动态性
  • 多线程
  • 安全性
  • 健壮性(不会崩溃系统,原因:异常机制)

    三、Java三大版本

  • J2SE 标准版-桌面端(桌面程序)
  • J2ME 移动版-移动端(已死)
  • J2EE 企业版-服务器端

    JDK JRE JVM

    JDK,JRE,JVM的关系
  • JDK:Java Development Kit/开发工具
  • JRE:Java Runtime Environment/运行环境
  • JVM:Java Virtual Machine/Java虚拟机

    四、Java程序运行机制

  1. 编译型——一次把整个程序编译compile
    • 优点:第二次之后运行速度快
    • 缺点:每次修改后需要重新编译
  2. 解释型——按照每一行编译
    • 优点:每次修改可以第一时间反应到程序中

Java——两种都有。

1
2
3
graph LR
*.java[方形] -->*.class(圆角)
*.class --> *.exe

Java学习笔记之编程入门

发表于 2021-10-07
安装这部分简单复习一下,实际上已经做过好几遍了。

目前最好的Java开发软件 IDEA

  • 由jet brains 开发
    分为三个版本
  • 社区版community——免费
  • 旗舰版ultimate——收费

    1.开始起步

    目录结构:
  • 项目名
    • .idea
    • src 主要程序在这里

      1.1新建类

快捷键输入:

psvm=public static void main(String[] args){}
sout=system.out.println();

1.2编程基础

1.2.1 注释

共有三种:

  • 单行注释:
    1
    //这个是单行注释
  • 多行注释:
    1
    2
    3
    4
    /*
    这个是
    多行注释
    */
  • 文档注释:JavaDoc
    1
    2
    3
    /**
    * @Description:这是描述
    */

    1.2.2 标识符

关键字:

建立这个博客踩的坑

发表于 2021-09-22

起因

最近实习的工作还没下来,整天刷剧。上网冲浪的时候,看到了Github page这个玩意,之前还很好奇那些人怎么拿到github.io的域名。稍微看了两眼感觉还挺简单,随便上传了两个网页玩了玩,想着做个博客应该也不难,结果路上全都是坑。Orz

开始踩坑

一开始以为GitHub上面的模板都是现成的,下下来就准备跟着模板倒入教程做。折腾半天发现,应该先装框架。我看上Next的模版了,所以用的是Hexo框架。经过一堆安装教程,总算是弄好了。

框架问题

框架做好之后,又清理了一遍缓存hexo -clean,重新运行,NexT模版的初始界面总算是出现了。但是这个页面的问题也很多,导航栏的连接全部失效这里貌似是版本更新后空格被解析进去了。解决方法就是把空格删了。

还有一个地方有相似的问题,就是导航栏下方的日志按钮,应该连接的是/归档/,这里是有个函数没有解析到后面注释的||。这些问题虽然都能百度到,但还是困扰了很久hhh

git环节

最难受的是之后的Git环节。。

  1. 首先用默认的SSH方式导入git@项目地址 ,公钥重新生成了几次,也导入了GitHub,但是提示搜不到仓库或者权限不足。
  2. 接下来准备用SSL使用用户名密码登录。但是GitHub在今年七夕当天,禁止了密码登录,每次git必须要输入在GitHub上面申请的token(token要自行保存,网页上只显示一回)

这就很难受了啊,不想每次输入token,还是选择方案一看看是不是有什么地方设置错了。最后发现其实并没有设置错误,只不过是git默认用SSH的22端口与GitHub通信,可能是校园网防火墙什么的问题,反正是用不了,最后通过更改端口为443解决。

总结

搭建博客框架已经过去几天了,能回想起的问题大概就这些。写这么一篇博文给自己留一份备用,也给看到此篇博文的你一些力所能及的帮助。

第一篇文章,简单介绍一下

发表于 2021-09-18

一

最近了解了一下github page,做了几个静态网页不过瘾,于是想着反正也是域名,不如学着大佬整个博客。

正如你所见,目前这个博客就是套了一个模板,里面的配置还没搞清楚。总之整个系统算是弄好了,以后就可以时不时的更新一下文章。(拿pad配键盘写md文档真的很舒适 安利:One Markdown)

接下来的主要工作就是装修一下界面,弄点二次元 图片,完善一下关于界面。虽然是自己做着玩的,但是怎么着也像回事,是吧~

反正,博客会一步一步的做下去,慢慢来呗☺

SDN report

发表于 2021-06-29

背景与问题

现有网络体系已经成型,对于网络研究者来讲这极大的限制了他们对网络的改动与创新,因为任何的细微改动都需要耗费极大的成本。因此,也无法利用实际的环境来测试新的网络协议。人们普遍认为,现有的网络基础设施已经僵化。
意识到这个问题,人们开始开发可编程网络,例如GENI。虽然虚拟化可编程网络可以降低新技术引入的门槛,但是目前大部分的设施并没有部署可编程网络,现在面临的问题是架构部署时间长,并且成本高昂。
本文提出的问题就是:作为研究人员,我们如何在校园网中进行实验?

解决方案的总结

OpenFlow交换机至少由三部分组成:(1)流表,其中包含与每个流条目相关联的操作,以告知交换机如何处理流;(2)将交换机连接到远程控制进程(称为控制器)的安全通道,允许使用OpenFlow协议在控制器和交换机之间发送命令和数据包,OpenFlow协议为控制器与交换机通信提供了一种开放的标准方式。通过指定一个标准接口(OpenFlow协议),通过该接口可以在外部定义流表中的条目,OpenFlow开关避免了研究人员对开关编程的需要。
将交换机分类为不支持正常第2层和第3层处理的专用OpenFlow交换机和启用OpenFlow的通用商用以太网交换机和路由器是很有用的,OpenFlow协议和接口已作为一项新功能添加到这些交换机和路由器中。
OpenFlow是一种实用的折衷方案,它允许研究人员以统一的方式在异构交换机和路由器上运行实验,而不需要供应商暴露其产品的内部工作,也不需要研究人员编写特定于供应商的控制软件。
如果在校园里成功地部署了OpenFlow网络,希望OpenFlow能逐渐在其他大学流行起来,增加支持实验的网络数量。希望出现新一代的控制软件,使研究人员能够重复使用控制器和实验,并在其他人的工作基础上再接再厉。随着时间的推移,不同大学的OpenFlow网络孤岛将通过隧道和覆盖网络相互连接,也许还可以通过主干网络中运行的新OpenFlow网络相互连接。

谈谈你对方案的理解。

其方案就是通过接入OpenFlow开关,通过电脑控制其对网络的控制。可以低成本的实现网络控制与修改。这篇白皮书提出了OpenFlow:网络中实验新协议的方式。OpenFlow基于以太网交换机,有一个内部流表和一个标准化的接口来添加和删除流条目。我们的目标是鼓励网络供应商将OpenFlow添加到他们的交换机产品中,以便部署在大学校园主干网和布线柜中。我们认为,OpenFlow是一种实用的折衷方案:一方面,它允许研究人员以统一的方式以线速率和高端口密度在异构交换机上运行实验;另一方面,供应商不需要公开其交换机的内部工作。除了允许研究人员在现实世界的流量环境中评估他们的想法之外,OpenFlow还可以作为一个有用的校园组件,应用在GENI这样的大规模测试平台中。

5 日志
GitHub
© 2021 6yy66yy
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4