张之海的博客

天行健,君子以自强不息;地势坤,君子以厚德载物。

leetcode 184. 部门工资最高的员工

1 题目描述 Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id。 ±—±------±-------±-------------+ | Id | Name | Salary | DepartmentId | ±—±------±---...

2019-08-22 14:54:50

阅读数 4

评论数 0

MySQL变量的使用

MySQL变量的使用 在mysql文档中,mysql变量可分为两大类,即系统变量和用户变量。 但根据实际应用又被细化为四种类型,即局部变量、用户变量、会话变量和全局变量。 一、局部变量 mysql局部变量,只能用在begin/end语句块中,比如存储过程中的begin/end语句块。 其作用域仅限...

2019-08-22 11:35:24

阅读数 6

评论数 0

leetcode 176第2高的数、177 第N高的数、178 分数排名

leetcode 177 第N高的数 编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary)。 ±—±-------+ | Id | Salary | ±—±-------+ | 1 | 100 | | 2 | 200 | | 3 | ...

2019-08-19 22:15:54

阅读数 8

评论数 0

线程池

1 为什么要用线程池? 减少资源消耗。直接使用线程池中的线程,不用再创建和销毁线程,减少了这部分工作消耗的资源。 提高响应速度。需要线程时,不用再等待创建线程了。 方便管理。线程池能对线程统一管理、分配、调优和监控。 2 几种常见的线程池和使用场景 Java中使用工厂类Executors生产线...

2019-08-19 22:13:58

阅读数 10

评论数 0

Lock和synchronized的区别和使用

原文链接:Lock和synchronized的区别和使用 今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有...

2019-08-19 10:39:26

阅读数 8

评论数 0

线程通信

1 传统通信方式 使用Object类的wait()、notify()、notifyAll()方法实现。 这三个方法的调用: 这三个方法不属于Thread类,属于Object类。 这三个方法必须由同步监视器调用。(所以(1)同步方法中同步监视器就是this;同步代码块中同步监视器就是参数...

2019-08-19 10:37:01

阅读数 33

评论数 0

keras学习

1 最简单的模型Sequencial 1.1 Sequential 模型如下所示: from keras.models import Sequential model = Sequential() 1.2 可以简单地使用 .add() 来堆叠模型: from keras.layers...

2019-08-18 15:39:10

阅读数 9

评论数 0

Hadoop相关知识点

什么是Hadoop 一个分布式计算平台,以Hadoop分布式文件系统(HDFS)、MapReduce为核心。 Hadoop 的优点 易扩展:方便向集群中添加节点。 可靠: 容错:多个副本。 高效:在节点间动态移动数据。 Hadoop的项目结构 HDFS、MapReduce、Yarn...

2019-08-17 23:33:39

阅读数 8

评论数 0

抽象类与接口

package com.abstractClass; /* * 有抽象方法的类一定是抽象类,抽象类里可以有普通方法。 抽象类与普通类的不同点: 有抽象方法时,抽象方法有abstract修饰,没有方法体。 */ public abstract class AbstractClass { int...

2019-08-17 15:06:44

阅读数 31

评论数 0

文件属性与权限、改变文件属性与权限、默认权限

针对Linux中的用户、用户组,需要设置文件的权限。 1 文件属性与权限 ls -al:使用该命令查看文件属性。 -a表示所有文件。-l表示详细权限与属性。 第一列,共有10个字符。 第一个字符代表这个文件是“目录、文件还是其他”。 [d]是目录。 [-]是文件。 后面的9个字符,3个为一组...

2019-08-16 11:58:47

阅读数 9

评论数 0

vi

1 替换 [range] s/目标字符串/替补字符串/[option] [range] 表示检索范围,省略时表示当前行。下面是一些检索范围的例子。 1,10表示从第 1 行到 10 行。 %表示整个文件,同1, $。 . ,$从当前行到文件尾。 s 为替换命令。 s1...

2019-08-16 09:33:28

阅读数 8

评论数 0

MySQL的分组、排序、行号

基础数据: select * from sqldb.user_entry_log 1 MySQL分组后添加行号 MySQL中,给数据分组、然后给每组中的数据添加行号。注意:group by分组后,只能取出第一条记录,所以这里的分组,直接使用order by对排序关键字进行排序,间接完成了分组...

2019-08-15 23:40:50

阅读数 6

评论数 0

Limit

首先展示所用的数据: 选出所有数据,并添加行号 select (@row_number:=@row_number + 1) as rowNumber,user_id,entry_time from sqldb.user_entry_log,(select @row_number:=0) t 1...

2019-08-15 22:26:13

阅读数 7

评论数 0

牛牛的背包问题 —— 01背包问题

1 牛牛的背包问题 牛牛的背包问题 —— 牛客网 问题描述: 牛牛准备参加学校组织的春游, 出发前牛牛准备往背包里装入一些零食, 牛牛的背包容量为w。 牛牛家里一共有n袋零食, 第i袋零食体积为v[i]。 牛牛想知道在总体积不超过背包容量的情况下,他一共有多少种零食放法(总体积为0也算一种放法)。...

2019-08-13 17:08:00

阅读数 69

评论数 0

深入浅出静态链接和动态链接

作为一名C/C++程序员,对于编译链接的过程要了然于胸。首先大概介绍一下,编译分为3步,首先对源文件进行预处理,这个过程主要是处理一些#号定义的命令或语句(如宏、#include、预编译指令#ifdef等),生成*.i文件;然后进行编译,这个过程主要是进行词法分析、语法分析和语义分析等,生成*.s...

2019-08-12 15:38:39

阅读数 17

评论数 0

背包问题 ——(1) 0—1背包问题

学习自《背包问题九讲》 1 题目 有 N 件物品和一个容量为 V 的背包。放入第 i 件物品耗费的费用是 Ci1,得到的 价值是 Wi。求解将哪些物品装入背包可使价值总和最大。 2 基本思路 核心: f[i][v]f[i][v]f[i][v]指将前iii件物品放到容量为vvv的背包中...

2019-08-12 15:28:01

阅读数 30

评论数 0

linux IO模式和IO多路复用

这篇文章系转载自 linux IO模式和IO多路复用 ,此处只保留作备份,请直接参看原文章吧。 注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是...

2019-08-10 16:14:30

阅读数 11

评论数 0

Java生成[start,end]之间的随机数

关键函数:Math.random(),生成[0,1)之间的随机数。 观察[0,1)。 若给其乘以一个数end,起始数值不变,结束数值为end-1。 若给其加上一个数start,起始数值变为start,结束数值变为start-1。 所以,可以通过乘一个数,加一个数这两种步骤,改变区间的起始值和结束值...

2019-08-10 11:01:03

阅读数 7

评论数 0

Hadoop调度器

Hadoop中运行作业的顺序,由调度器来决定。Hadoop有三种作业调度器。 1 FIFO 先入先出调度器 hadoop中默认的调度器,采用先进先出的原则 先按照作业的优先级,优先级相同的再按照作业的提交顺序,运行作业。 缺点:某个作业执行时间较长,其他的作业就只能等待。 2 Capacity ...

2019-08-06 22:29:48

阅读数 9

评论数 0

线程的三种创建方法及优缺点

第一部分 Java并发编程基础篇 第1章 并发编程线程基础 1.1 线程的三种创建方法及优缺点 (1) 继承Thread 优点:(当前线程)在Run方法内获取当前线程直接使用this即可。this.getName()为获取当前线程的名字。 缺点: (1)(继承)使用Thread,不能进...

2019-07-31 12:23:29

阅读数 10

评论数 0

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