- 博客(80)
- 收藏
- 关注
原创 Java(二)—— 变量和运算符
标识符标识符是用来给变量、类、方法以及包进行命名的:标识符必须以字母、下划线_、美元符号$开头。标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。Java 标识符大小写敏感,且长度无限制。但不能是关键字一般表示变量和方法的标识符首字母小写,并遵守驼峰命名法,类名首字母大写。Java 不采用通常语言使用的 ASCII 字符集,而是采用 Unicode 这样标准的国...
2019-10-04 16:08:52
269
原创 Java - 小技巧 - 移位运算
我们知道 >> 和 << 是位运算符,>>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;>>> 表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。public class Test { public static void main(String[] args) { ...
2019-04-02 16:55:15
388
原创 Java - 反射(reflect)
一 什么是反射正常情况下,如果已经有一个类,则肯定可以通过类创建对象.而反射可以实现通过一个对象找到一个类.二 Class类Class类是java.lang包中的类.当程序使用某个类时,Java虚拟机会将该类加载到内存中,该类的class文件读入内存,并为该类创建一个java.lang.Class对象,它包含了与类有关的信息.每个类都有一个Class对象,即每当编写并编译了一个新类时,就会...
2019-03-07 15:59:52
328
原创 Java - 小技巧(一) - 交换两个整数
三种方案,只有第一种(最常见)需要额外空间class Test{ public static void main(String[] args) { int a = 85; int b = 94;// int temp = b;// b = a;// a = temp; // ...
2019-03-06 16:50:04
511
原创 Java - 内部类和匿名类
一 内部类内部类是定义在另一个类内部的类.1.内部类被当作外部类的成员,因此内部类可以直接访问外部类的似有成员,同一个类的成员之间可以互相访问,但是外部类不能直接访问内部类的成员.2.匿名内部类,没有具体名称的类,在定义匿名内部类的同时系统会自动生成一个该类的实例,匿名内部类适用于一个类仅被使用一次的情况:new 接口名()或类名(实参列表) { //类体}从上面的定义可以看出匿名...
2019-03-06 11:38:59
423
原创 Java - 接口
接口可以理解为一种特殊的“类”,是由常量和抽象方法组成。接口是对类的描述,描述类有什么功能,但不给出功能的具体实现1 接口的定义、继承和实现<public><abstract> interface 接口名[extends 父类接口列表]<public><static><final> 变量名 = 初值;<public>...
2019-02-21 09:30:29
151
转载 矩阵分解 - 奇异值分解(几何意义)
https://blog.csdn.net/redline2005/article/details/24100293
2019-01-07 10:44:49
1040
原创 矩阵分解 - 奇异值分解SVD(计算)
本篇介绍矩阵分解中最重要的分解方式奇异值分解 - Singular Value Decomposition (SVD)一 定义 : 给定一个矩阵W,可以将其作如下形式的分解W=UΣVT W = U \Sigma V^{T}W=UΣVT二 计算过程与说明构造两个辅助矩阵:C=WTW=VDVT=UΣTΣVT=(VΣTUT)∗∗(UΣVT)∗∗ C = W^{T}W = VDV^{T}...
2018-12-27 11:50:28
3484
2
原创 Python - 包管理(番外)
上一篇介绍了用conda来安装python第三方库,下载地址是国内的镜像,如果没有就用pip安装。但也有种情况pip也没有的怎么办?或者说通过pip安装的版本过低。我就以我遇到的情况为例详细介绍处理方案。。一 问题说明我的anaconda->environment中有三个环境,这个在环境管理那篇博客中已经展示了。但是我的TD环境下用pip下载的tensorly包是0.4.2版本的,而...
2018-12-14 15:28:56
278
原创 Python - 包管理(包含镜像设置)
上一篇博客简要介绍了用anaconda辅助管理Python环境这一篇进一步介绍常见的包管理一 conda 和 pip如今最常见的两种包管理工具。1)pip是专门安装python包的工具,conda是Anaconda的包管理器,不仅可以管理包,还可以管理环境等等2)pip是从源代码安装的,所以如果你无法编译源代码,那么安装它可能会很痛苦(这在Windows上尤其如此,但如果软件包有一些困难...
2018-12-13 19:19:19
577
原创 Python - 安装环境管理
其实用Anaconda管理环境非常方便这里展示了用Anaconda可视化界面管理Python环境和用命令行管理Python环境注: 以下只针对windows操作系统一 可视化界面下面是个熟悉的界面,有关环境的常见操作就在方框内,分别为1 新建2 克隆3 导入4 删除二 命令行1 查看当前所有环境2 切换环境比如当前是base环境,把它切换到DL环境3 切换回来4...
2018-12-13 16:46:13
374
原创 Java - 多版本jdk安装、配置Eclipse
一 下载多版本jdk以jdk8 和jdk9为例1 进入官网下载2 下载安装到默认路径:3 配置环境变量把上面想用的jdk版本写进系统变量path中:4 进入命令行查看:以后如果想用jdk9,就直接修改环境变量。注意:修改后要移动到顶行,不然可能不会生效。当然也可以在命令行输入echo %path%,Linux系统可以输入 source /etc/profile5 配置Ec...
2018-12-11 16:27:53
465
原创 Java - Hibernate
一 什么是Hibernate?它到底能为我们做什么?回答这个问题需要先知道什么是ORM,什么是JPAORM,Object Relationship Mapping对象关系映射,它是一种解决问题的思路,是一种思想。它的实质就是将关系数据库中的业务数据用对象的形式表示出来,并通过面向对象的方式将这些对象组织起来,以实现系统业务逻辑。或者说,ORM,就是内存中的对象与数据库中的数据间的映射关系。...
2018-12-04 19:57:11
159
原创 矩阵的数学基础知识
一 行列式 方阵 矩阵的基本概念略二 矩阵的转置、逆、秩1 矩阵的转置就是将矩阵中的元素进行行列对换2 矩阵的逆设A是数域上的一个n阶矩阵,若在相同数域上存在另一个n阶矩阵B,使得: AB=BA=E ,则我们称B是A的逆矩阵,而A则被称为可逆矩阵。注:E为单位矩阵。如何求矩阵的逆: 1 初等变换法 2 伴随矩阵法3 矩阵的秩矩阵的秩是由向量组的秩引申而来设A是一组向量,...
2018-11-12 19:13:58
2844
转载 Java - 多态(polymorphism)
一 多态的基本概念同一个方法调用,由于对象不同可能会有不同的行为。多态是方法的多态,不是属性的多态。二 多态的条件1.继承(实现)2.方法重写3.父类引用指向子类的对象三 实现方式1. 不同的子类对父类同一方法给出不同的实现2. 父类型的引用指向子类实例对象四 代码package Polymoriphism;public class TestPolym { pub...
2018-11-07 15:43:08
601
转载 Java(基础) - 封装(Encapsulation)
一 封装的基本概念将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。二 封装的好处1. 良好的封装能够减少耦合。2. 类内部的结构可以自由修改。3. 可以对成员变量进行更精确的控制4. 隐藏信息,实现细节。三 实现方式修改属性的可见性来限制对属性的访问(一般限制为private)public class Person {...
2018-11-07 15:00:45
419
原创 Java - 注解()
JDK 1.5 后引入了注解这一特性在java.lang包下1 作用不是程序本身,可以对程序作出解释,而且可以被其他程序读取.2 格式@注解名还可以添加参数,如@SuppressWarnings(value=“unchecked”)3 使用范围可以附加在package,class,method,field等上面,相当于给它们添加了额外的辅助信息,可以通过反射机制编程实现对这些元数据...
2018-11-06 17:59:51
164
转载 Java - 参数传递机制
Java 中,方法中的所有参数都是“值传递”,也就是“传递的是值的副本”.也就是说,我们得到的是“原参数的复印件,而不是原件”.因此,复印件改变不会影响原件.1 基本数据类型参数的传值传递的是值的副本,副本改变不会影响原件2 引用类型参数的传值传递的是值的副本.但是应用类型指的是”对象的地址”.因此,副本和原参数都指向了用一个“地址”,改变“副本指向地址对象的值”,也意味着原件指向地址对象...
2018-11-05 15:45:10
266
原创 Java - Eclipse中的Maven的安装与配置
一什么是 MavenMaven是项目管理工具,开发者可以将自己的代码编写好之后打包成后缀名为.jar的文件,俗称jar包。在项目中引入jar包可以直接复用他人编写好的代码,从而实现相应功能。比如我们将要在开发中使用Spring Boot框架,其本质就是在使用该框架概念中的一系列jar包。在传统的方式中我们一般通过各种渠道手动下载jar包,这样产生的问题是获取和管理各类jar包都显得十分麻烦。在使...
2018-10-04 03:03:42
2120
1
原创 Java - Spring Tools的安装与配置
一 下载 Eclipse for Java EEhttps://www.eclipse.org/downloads/进入后点击download packages:下拉找到 Eclipse IDE for Java EE Developers,双击在右边可以选择自己喜欢的版本。这里下载的是最新版本4.9.0二 安装Eclipse我把它解压安装到了D盘,(额外提一句,由于Eclipse...
2018-10-04 01:47:23
4989
转载 Java - 接口和抽象类的区别
接口和抽象类有什么区别接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是...
2018-10-03 18:15:35
187
转载 Java -暂时不好解释的现象
Java 给方法传入不同的参数类型(参数本身抑或是参数的成员变量)会不会改变本身的参数的值?public class Main { private static void getMiddleOne(boolean b, Boolean boo, Boolean[] arr){ b = true; //形参,不会改变原有值 boo = new Boolean(true); //引...
2018-10-03 17:47:44
178
转载 Java(基础) - 继承(inheritance)
一 封装作为一个保护屏障,将类中的具体代码实现细节进行包装盒隐藏,防止该类的代码和数据在外部调用时被访问。封装的思想保证了类内部数据结构的完整性,提高了程序的安全性和可维护性。往往将类中某个字段私有化(private),再提供公有方法(getter/setter)。setter方法可以对数据进行合法性判断。Java 访问修饰符有4种 public protected friendly pr...
2018-10-02 18:13:12
663
转载 Python 统计字符串各个字符的个数
转#统计字符个数resoult={}for i in str: resoult[i]=str.count(i)print(resoult)
2018-09-29 00:24:46
6882
1
转载 数学-算法
N的阶乘 N!由多少个0?最直接的方法就是求出N的阶乘的所有因式(1,2,3,…,N)分解中5的指数。然后求和int fun1(int n){ int num = 0; int i,j; for (i = 5;i <= n;i += 5) { j = i; while (j % 5 == 0) {...
2018-09-26 00:29:15
466
原创 Python 二维数组排序
多维数组的排序之前在matlab上面想了好久。用python实现很简单:a = [[2,3,4], [2,4,5],[3,3,4]]sorted(a, key=lambda x: (x[1], x[0]))print(a)[[2, 3, 4], [2, 4, 5], [3, 3, 4]]...
2018-09-25 23:56:58
8443
2
转载 Python 二维列表与一维列表的互相转化
二维列表转化为一维列表1.tkinterfrom tkinter import _flattena = [[1, 2], [3, 4]]print(list(_flatten(a)))[1, 2, 3, 4]2 itertoolsfrom itertools import chaina = [[1, 2], [3, 4]]print(list(chain.from_itera...
2018-09-25 23:52:54
48402
4
转载 Java - 关键字static
static关键字· 静态修饰符· 所谓静态是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。· 这就导致了被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。· static可以修饰方法 变量 方法块static 方法static 方法又叫静态方法《Java...
2018-09-24 01:27:33
220
原创 Java - JVM(三) 垃圾收集器与内存分配策略
一 重点关注的数据区域: 堆 和 方法区Java内存运行时区域中的程序计数器、虚拟机栈、本地方法栈3个区域随线程生,随线程灭;每 一个栈帧中分配多少内存是在类结构确定下来就已知的,因此这几个区域的内存分配和回收都 具备确定性.二 垃圾回收之如何判定对象已死?1 引用计数算法给对象添加一个引用计数器,没当一个地方引用它时,计数器就加1;当引用失效 时,计数器就减1.任何计数器为...
2018-09-14 13:01:17
204
转载 TCP - 拥塞控制
转(https://blog.csdn.net/jtracydy/article/details/52366461) TCP 协议使用滑动窗口机制进行拥塞控制拥塞窗口:发送方为一个动态变化的窗口叫做拥塞窗口,拥塞窗口的大小取决于网络的拥塞程度。发送方让自己的发送窗口=拥塞窗口,但是发送窗口不是一直等于拥塞窗口的,在网络情况好的时候,拥塞窗口不断的增加,发送方的窗口自然也随着增加,但是接受方的...
2018-09-12 09:29:41
234
原创 Java (基础) - 字符串 String 与 字符串类 StringBuffer StringBuilder
一 String1 不可变字符序列public class TestString { public static void main(String[] args) { String str = &amp;quot;我爱Java&amp;quot;; System.out.println(str.length()); //String 是一个不可变序列,直接使用toUp...
2018-09-11 15:51:42
210
原创 Java - 集合(六) 总结
重要知识点总结: 一 集合与数组的比较1.数组容量固定且无法动态改变,二 ArrayList 和 LinkedList 的区别和联系 联系: 均实现了List接口 有序,不唯一区别:这里写代码片三 哈希表的原理(HashMap的原理) …拓展 ·hashCode() 和 equals() 方法的作用 ·如何减少冲突 ·如何产生...
2018-09-11 10:51:35
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人