Java核心技术读书笔记ch4
Java核心技术 读书笔记:第四章 对象与类对象的理解:每个对象包含对用户公开的特定功能部分和隐藏的实现部分。从根本上来说,只要对象能够满足要求,就不必关心其功能到底如何实现!
此外,每个对象都保存着描述当前状况的信息——对象的状态。对象状态的改变必须通过调用方法实现(如果不经过调用就可以改变对象状态,只能说明破坏了封装性!)
对象引用:对象的创建通过对象提前写好的构造函数(无参 有参),new+构造才能够创建出一个新的对象
12Date s = new Date()Date s = k
实际上,k和s引用的是同一对象(new的Date的对象),指向相同!
所有的Java对象都存储在堆中,当一个对象包含另一个对象变量时,它只是包含着另一个堆对象的指针!
类:三种关系:
依赖(uses-a)如Order类使用Account类,是因为Order对象需要访问Account对象查看信用状态!——我们应该尽可能减少相互依赖:减少类之间的耦合!
聚合(has-a)包含关系
继承(is-a)
公共类和非公共类(是否带public)
源文件名必须与public类的名字相匹配,在一个源文件中,只能有 ...
数据结构Java描述整理
1. 绪论2. 线性表 线性表是一种最常用、最简单,也是一种最基本的数据结构,它是学习其他数据结构的基础。
线性表在计算机中可以用$\begin{cases}顺序存储 \\ 链式存储\end{cases}$两种存储结构来表示,其中,顺序存储的线性表成为顺序表,链式存储的线性表成为链表,链表又分为:$\begin{cases} 单链表 \\ 双向链表 \\ 循环链表\end{cases}$。
特点:
对于同一个线性表,其每一个数据元素的值虽然不同,但必须具有相同的数据类型
数据元素之间具有一种线性的或“一对一”的逻辑关系:开始结点没有前驱,末尾结点没有后继,除开始和末尾结点外,其余数据元素有且仅有一个前驱和一个后继
几个基本操作:
12345678910111213141516```clear()```:将已存在的线性表置为空表```isEmpty()```:判空```length()```:求线性表长度,即,元素个数```get(i)```:读取线性表中第i个数据元素的值。$0 \leqslant i \leqslant length-1$```insert(i,x)`` ...
css+div布局总结
几个月前花了一周多学了点前端,但也只是浅尝辄止,实战中还是由于css底子不好导致了很多布局的问题,故沉下心来再次把css复习了一遍,理顺了实战中遇到的一些布局问题,包括多浏览器、不同尺寸屏幕的适配问题也更加清晰了许多,有关适配性的经验将会在另一博客中着重总结,此博客主要针对css的基础布局进行梳理,方便复查!期间,也发现了一个查前端文档的网站:MDN
定位
相对定位以当前为参照物移动指定的距离注意:相对定位,被定位的元素会占据原有的物理位置
1234567891011121314151617181920212223242526272829303132333435<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>相对定位</title> <style> div{ widt ...
Convlstm时空预测经验之谈(本科毕设)
Convlstm新手实战 毕设临近截止,故写一篇心得以供新手学习,理论在知乎上有很多介绍的不错的文章,这里强烈推荐微信公众号:AI蜗牛车,这位东南老哥写了时空预测系列文章,能够帮助了解时空领域模型的演变,同时也向他请教了一些训练技巧。 我的本科毕设大概是这样的:先计算某个区域的风险,计算得到一段时间的风险矩阵,这里用的是自己的模型去计算的,数据如何生成,本文不做赘述,主要讲解如果通过每个时刻下的矩阵数据去预测未来的矩阵。
回顾理论基础 在ConvLSTM中,网络用于捕获数据集中的时空依赖性。ConvLSTM和FC-LSTM之间的区别在于,ConvLSTM将LSTM的前馈方法从Hadamard乘积变为卷积,即input-to-gate和gate-to-gate两个方向的运算均做卷积,也就是之前W和h点乘改为卷积(*)。 ConvLSTM的主要公式如下所示:
详细可参考:【时空序列预测第二篇】Convolutional LSTM Network-paper reading
官方keras案 ...
React项目迅速搭建+antd传文件+nginx反向代理
React 入门+实战(antd上传文件接受返回+部署服务器Nginx反向代理)React 项目迅速搭建前期工作:
1、必须安装nodejs 注意:安装nodejs稳定版本
2、安装cnpm:用cnpm替代npm
安装cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
3、用yarn替代npm
yarn的安装:
第一种方法:参考官方文档https://yarn.bootcss.com/
第二种方法:cnpm install -g yarn 或者 npm install -g yarn搭建项目(初始化):搭建React开发环境的第一种方法(老-推荐):
https://reactjs.org/docs/create-a-new-react-app.html
1. 再次提醒:必须要安装nodejs 注意:安装nodejs稳定版本
2. 安装脚手架工具 (单文件组件项目生成工具) 只需要安装一次
npm install -g cr ...
爬虫&正则表达式基础
爬虫流程:
正则表达式
正则表达式由字符和操作符组成
常用操作符:
举例:
经典正则表达式:
eg:
Re库:
re库可以采用raw string类型表示正则表达式,表示为: r'text', PS: raw string是不包含对转义符再次转义的字符串
例如:r'[1‐9]\d{5}'和r'\d{3}‐\d{8}|\d{4}‐\d{7}'
Re库主要函数:
re.search: 在整个字符串中搜索匹配
123456import rematch = re.search(r'[1-9]\d{5}','BIT 100081')if match: print(match.group(0))#100081
re.match: 与re.search类似,但是是从字符串开始位置起匹配表达式,返回match对象
12345import rematch = re.match(r'[1-9]\d{5}','BIT 100081')if match: print(match.group(0))#报错 ...
Transformer 原理+源码分析总结(Tensorflow官方源码)
Transformer理解参考博客:https://jalammar.github.io/illustrated-transformer/https://github.com/aespresso/a_journey_into_math_of_mlhttps://www.tensorflow.org/tutorials/text/transformer#encoder_and_decoder
学了 TextCNN、LSTM后,谈起如今NLP最流行、最热的模型,当然是Transformer、bert,语言模型、命名实体识别、机器翻译等任务,很多都开始用Transformer,或者说是bert预训练模型来做,在机器阅读理解榜单中(SQuAD2.0),机器成绩已经超越人类表现!这些天看了几个经典博客、视频,最后读了一遍源码,加深了对模型的理解,整体结构也基本上理顺了。
背景: transformer是谷歌大脑在2017年底发表 ...
终端命令及Colab白嫖必备
Linux 常用命令下载、解压命令(colab常用):12wget + urlunzip + filename
基本命令:123456789101112131415161718ls----------------------显示当前文件夹所有文件ls -l ------------------显示当前文件夹所有文件及文件夹的详细信息(包含隐藏文件,就是文件名前带点的文件)pwd --------------------显示当前的pathcd + path --------------表示到某一路径下cd …/ ------------------表示切换到上一层路径。sudo su ----------------改为root权限mkdir /data/path -------新增文件夹vim path ---------------查看某一文件:wq--------------------保存退出(查看或者修改某文件后)rm -rf path ------------删除pathrm test.txt ------------删除test.txtcontrol + c ------- ...
保研经验总结
保研经验分享
个人背景: 本人武汉理工大学航海技术专业,专业绩点排名:3/230,保研综合排名:1/230,四级:545,六级:496,一作EI会议论文一篇,国家大学生创新项目负责人,武汉理工大学自主创新项目负责人,获得多年奖学金、华中赛等小奖。
参加面试的学校:上交海洋,浙大海洋,武大水利,武大信管
最终去向:武大信管情报学
保研前期准备: 面对2019年暑期的夏令营,早在寒假就开始搜集大量学校的信息,当时还不知道有类似保研通、保研岛这种保研信息平台,走了些弯路。寒假我做了几件事:
1.简单梳理报名时间点: 将所要报夏令营学校的历年时间点大致梳理,比如像金融专业,有的学校的夏令营早在3、4月份就开始报名了,所以一定提前了解报名时间段,错过时间段这种低级错误千万不能犯,身边也确实有同学因为拖到最后一天报名,网崩了没报上的!
建议用表格排列好相关学校,因为夏令营竞争相对比较激烈,各路大神都出来秀肌肉,对于本科学校一般、排名一般、科研寥寥无几的同学可能会比较被动,学校如果报高了,会有被刷的风险,在不确定自己会不会被刷的情况下,一定得多报一些学校,同一档次的 ...
Mac安装gensim踩坑
mac环境pip install gensim报错用pip安装gensim包时,显示:ERROR: Exception:Traceback (most recent call last):
用了多种方式未果,采用镜像安装成功!
1pip install gensim -i https://pypi.doubanio.com/simple

)












