自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 如何使用pycharm连接Databricks

在本地使用pycharm连接databricks,大致步骤如下:首先,为了让本地环境能够识别远端的databricks集群环境,需要收集databricks的基本信息和自己databricks的token,这些信息能够让本地环境识别databricks;接着,需要使用到的工具 anaconda创建一个虚拟环境,连接databricks;最后,将虚拟环境导入pycharm。第0步:检查检查java版本,需要时1.8开头的版本,如果不是,请到这里下载:https://www.oracle.com/

2020-09-23 08:25:35 964

原创 分析SQL性能工具-show profiles

show profiles功能在运行每个查询以后,可以使用show profiles来查询你所运行的sql语句所涉及到的,每个状态变化的过程以及它们持续的时间。(保存最近15次的运行结果)如果不加说明,默认的是展示上一条查询语句的内容。如果要制定某条SQL语句,可以用一下查询SHOW PROFILE FOR QUERY n;一些参数解释如果在show profile诊断结果中出现了下边...

2020-04-25 16:26:38 380

转载 分析SQL性能工具-explain

EXPLAIN执行计划中type字段分为以下几种:ALLINDEXRANGEREFEQ_REFCONST,SYSTEMNULL自上而下,性能从最差到最好type = ALL,全表扫描,MYSQL扫描全表来找到匹配的行(因为film表中rating不是索引)mysql> explain extended select * from film where rating...

2020-04-25 16:26:00 217

原创 SQL优化

1、优化COUNTcount主要有这三种形式:count(*)count(1)count(列名)count(*)count(1)count(列名)统计行数,不会忽略列值为NULL统计行数,不会忽略列值为NULL统计某一列的有效值,会忽略列值为NULL。执行效率上:count(主键)的执行效率是最优的。所以,如果列名是主键的话,count(列名)会比co...

2020-04-25 16:25:39 255

转载 设计模式

一、工厂模式二、适配器模式三、

2019-07-13 11:20:19 88

原创 线程安全与线程不安全

1、是线程安全与线程不安全线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据2、分析public boolean add(E e) { /** * 添加一个元素时...

2019-06-08 16:08:29 8237 2

原创 尝试eclipse编程调用HDFS(hadoop)

在eclipse可以对HDFS进行各种操作,比如查看、创建文件夹、删除等等,下面 写出两个命令的Java操作,完整的代码如下public class HdfsDAO { //HDFS访问地址 private static final String HDFS = "hdfs://192.168.126.130:9000/"; public HdfsDAO(Configu...

2019-03-11 16:13:19 455

原创 用Maven构建Hadoop环境

1.1用Maven创建一个标准化的Java项目mvn archetype:generate -DgroupId=com.baidu -DartifactId=InstructionsHdfs-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false注:DgroupId:project-packaging...

2019-03-11 16:11:24 6759

原创 3.2 Designing Specification(补充)

key wordsClassifying specifications Diagramming specifications Quality of a specification1、Specifications in Java P26@param @return @throwsParameters are described :@param clauses and...

2018-06-18 14:03:55 207

原创 3.1Data Type and Type Checking (补充)

key word :data typemutability and mutable objects static and dynamic type checkingNull referencesSpecific content as follows: 1 、Primitives&Object Reference Types P6 2、Boxed primitiv...

2018-06-18 14:03:26 206

原创 synchronized块(方法)的探索

例:public class Try implements Runnable{ public void run() { synchronized(this) { for(int i=0;i<4;i++) { System.out.println(Thread.currentThread().getName()+" : "+i); }...

2018-06-13 19:56:26 253

原创 创建线程的两种方法

有两种方式:从Tread中派生出新的子类、实现Runnable接口、还有一种习惯用法 一、从Tread中派生出新的子类 创建片段完整的创建一个线程,并调用 二、 创建片段 完整的创建一个线程,并调用 三、习惯用法 创建片段 new Thread(new Runnable() { public void run() { //TODO } ...

2018-06-13 17:15:04 1306

原创 chapter3 小结

1、基本数据类型 对象数据类型 基本数据类型: 2、静态类型检查 动态类型检查分别的出现情况,判断这会引起什么样的类型检查3、可变和不可变类型危害在哪(引用修改、size or length)如何修改(final、new)4、防御式拷贝 5、Snaphot 6、规格 前后置条件规格怎嘛写前置、后置条件是什么规格的替代:宽进严出javac @return...

2018-06-13 16:33:46 110

原创 关于hashcode的那些有趣的事情

hashcode的作用是让基于散列的集合正常的运行,这些散列的集合有:HashSet、HashMap以及HashTable。 举个例子:当我们需要添加一个元素的时候a进Set的时候,我们会先取出a的hashcode,然后在散列桶里边找有没有散列值跟a这个元素的散列值相同的,没有的话,最直接添加;有的话,再用equals方法判断,添加的值。有趣的例子1:可变数据类型的操作改变,导致哈希值的改变...

2018-06-10 22:00:05 134

原创 结巴分词使用前的准备工作

一、安装结巴分词 去网站下载 二、安装python 因为结巴分词是依托python的基础上的 三、寻找python适合的IDE 使用eclipse 菜鸟教程-如何安装 四、使用eclipse来写.py文件 1、在文件头import jieba 在libraries里边添加jieba分词的文件夹 (或者 cmd进入jieba文件夹 运行python seup.by insta...

2018-04-12 22:06:01 430

原创 继承&多态&重写&重载 理解小结

菜鸟教程 继承class SuperClass { private int n; SuperClass(){ System.out.println("SuperClass()"); } SuperClass(int n) { System.out.printl

2018-04-09 16:29:18 3186

原创 Mutability & Immutability

一、可变与不可变 1、不可变 需要创建新的对象String s = "a";s = s.concat("b"); // s+="b" and s=s+"b" also mean the same thing2、可变 StringBuilder 对象是可变的。这个类有对应的方法来改变对象,而不是返回一个新的对象StringBuilder

2018-04-09 16:17:56 561

原创 Code Review 4

总结 代码评审是一种广泛应用的软件质量提升方法。它可以检测出代码中的各种问题,但是作为一个初学课程,这篇阅读材料只提及了下面几个好代码通用的原则:不要重复你的代码(DRY) 仅在需要的地方做注释 快速失败/报错 避免使用幻数 一个变量有且仅有一个目的 使用好的命名 避免使用全局变量 返回结果而非打印它 使用空白符提升可读性 下面把今天学的内容和我们的三个目标联系起来:远...

2018-04-07 14:55:43 235

原创 Software Construction 3

text3 一、测试优先 (1)为函数写一个规格说明。 (2)为上一步的规格说明写一些测试用例。 (3)编写实际代码。一旦你的代码通过了所有你写的测试用例,这个函数就算完成了。 二、分区测试(三个例子) EX1:/** * @param val another BigInteger * @return a BigInteger whose value is (this * ...

2018-04-06 23:19:25 162

原创 Collections.unmodifiableList理解

unmodifiable 即只读的意思,不可以修改。 现在设计一个顾客信息的customer类,不好的写法如下:package rr;import java.util.ArrayList;public class Try{ public static void main(String[] args) { ArrayList<String>...

2018-03-31 13:44:34 16546

原创 software construction1&2

txt1 一、静态检查、动态检查、不检查 1、静态检查:检查类型,保证变量的值在这个集合 (1)语法错误 Math.sine(2) (应该是 sin.) (2)参数的个数不对,例如 Math.sin(30, 20) (3)参数的类型不对 Math.sin(“30”) (4)错误的返回类型 ,例如一个声明返回int类型函数return “30”; 2、动态检查 (1)非法变量值:...

2018-03-31 13:00:54 169

原创 最小堆创建以及过程中的疑惑

最小堆结构体typedef Edge ElementType_stack;struct HNode{ //最小堆里边的元素是边Edge ElementType_stack data[MaxVertexNum];//开辟好多好多个Edge类型的 int size;//堆中元素的个数 int capacity;//堆的最大容量};typedef struct HNod

2017-12-10 19:34:52 344

原创 并查集

1、查找元素属于哪个集合 先找到元素x的存储位置->再找x的父亲,一层一层往上找父亲/*作用:查找元素传入参数:查找的元素x,已经建立起来的双亲表示法的树s[]*/ElementType find(ElementType x,setType s[]){ int i; //查找位置 for(i=0;i<Max && s[i]->data!=x;i++); if(i

2017-12-08 20:41:11 123

原创 Prim算法 Kruskal算法

一、Prim算法 1、要求: (1)生成一颗连通的树 (2)生成树:包含全部顶点,V-1条边,没有回路,并且添加一条边会变成有回路 (3)权重和最小 2、过程模拟 最重要:贪心的思想,每一步都要选择权值最小的,这棵树所有跟顶点相连的边中最小的。从根节点开始,让树慢慢的长大。 过程: 从v1开始 跟v1有联系的是4,2,1,选择1,所以到了v4 现在可以选择的边有,跟v1相连接的4

2017-12-07 17:22:41 355

原创 创建图的三种方法(邻接矩阵+邻接表+十字链表)

一、邻接矩阵

2017-12-07 17:20:47 4301

原创 bufbomb关于缓冲区溢出攻击

smoke 要求:构造攻击字符串作为目标程序输入,造成缓冲区溢出,使getbuf()返回时不返回到test函数,而是转向执行smoke 思路: 理解了getbuf栈的构成:开辟的空间[1][2][3]…[32]+rbp+返回地址 只需要把getbuf返回的地址设置为smoke地址即可(开始的时候因为不理解栈的结构,发懵了很久) 第一步:确定开辟空间大小00000000004018b9 <g

2017-11-23 14:52:52 2483 1

原创 寄存器内容是否会被调用者覆盖

IA32(俗称x86)采用了一组统一的寄存器使用惯例., 所有的过程调用都必须遵守, 包括程序库中的过程. 看例子:yoo: … movq $15213, **%rdx** call who a ddq **%rdx**, %rax … retwho: … subq $18213, **%rdx** …

2017-10-26 17:55:26 467

原创 两个多项式相加的程序(链表)

思路: 1、定义结构体struct,包含元素coef,exp 2、创建链表输入函数 polypointer createLink(int n); 3、创建两个多项式相加的函数 polypointer PolyAdd(polypointer a,polypointer b); 其中,PolyAdd函数调用函数 polypointer Attach(int e,int c,polypoin

2017-10-22 17:12:07 6340

转载 typedef

typedef 结构的问题 (引用文章)1、typedef的最简单使用 typedef long byte_4; 给已知数据类型long起个新名字,叫byte_4。 2、 typedef与结构结合使用 typedef struct tagMyStruct { int iNum; long lLength; } MyStruct; 这语句实际上完成两个操作:

2017-10-22 10:16:50 225

原创 继承

一、多态引用类型转换 dog是子类,animal是父类 dog dog2 =(dog) animal;//小括号+子类类型强制转换 但是这样存在风险,如果本质不可以转换,但是程序员又人为的转换,那么编译时候不出现错误,但是run以后会报错 那么使用instanceof来验证if(animal instanceof Cat) { Cat cat = (Cat)anima

2017-07-17 18:18:49 164

原创 JAVA继承

语法规则public 子类 extends 父类{......}

2017-07-17 08:49:14 159

原创 JAVA内部类

*内部类&外部类 内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。 *内部类有以下种类 种类 调用内部类 补充 成员内部类 new外部类+new内部类 Outer.this.b 静态内部类 new内部类 静态内部类访问外部类的非静态成员 new 外部类().成员 的方式访问。访问外部变量Outer.b

2017-07-16 22:07:07 128

原创 JAVA中的this

如果一个class里边的一个类,有很多方法,如果想在一个方法里边调用另一个方法,可以用thispublid class student{public void print{}public void sort{}public float sum{this.print();//调用print}}

2017-07-16 21:35:58 156

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除