自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (2)
  • 收藏
  • 关注

原创 windows + anaconda 安装PySpark3.0.1

Spark作为分布式内存计算框架,可以广泛应用在数据处理、分析等应用场景。因此,希望借助Spark高性能的处理项目中的数据,搭建windows+Spark3.0.1开发环境,深入了解Spark的处理能力与实现机制。

2022-11-24 19:59:53 1338 1

原创 python3 阻塞队列实现

#!/usr/bin/pythonfrom typing import Listimport threadingimport timeclass MyBlockingQueue: def __init__(self, capability: int): self.capability = capability self.lock = threading.Lock(); self.notFull = threading.Condition(.

2021-10-28 21:20:28 363

原创 脚本获取机器物理内存总大小

一、windows下bat@echo offrem 获取本机总物理内存大小for /f "delims=" %%a in ('wmic os get TotalVisibleMemorySize /value^|find "="') do set %%aecho totalMem=%TotalVisibleMemorySize%rem Xms为物理内存的八分之一set /a Xms=%TotalVisibleMemorySize% / 8 /1024rem Xmx为物理内存的二分之一

2021-08-07 23:03:14 966

原创 跳表数据结构的C++实现

1、背景 有序链表是一种常用的数据结构,具备链表的优点,不会占用较大的连续内存并且可以实现快速插入,适合频繁插入、更新的应用场景。但是随着节点数目的增多,O(n)的查询复杂度使得性能下降。为了优化查询性能,在原有的数据链表基础上,增加一层至多层逻辑链表,这样的数据结构就成为跳表,可以大大加速有序链表的查询性能。2、代码实现#include <iostream>#include <string>#include <vector>#include..

2021-01-28 22:07:35 480

原创 HBase standalone方式部署

软件版本ubuntu20,hbase-2.4.0,ava-11-openjdk-amd64hbase-2.4.0可以在https://mirror.bit.edu.cn/apache/hbase/中下载hbase-2.4.0-bin.tar.gz解压HBase使用命令解压到安装目录,我的目录为/home/linjx/Desktop/installed/hbase-2.4.0tar -xzvf hbase-2.4.0-bin.tar.gz修改HBase配置一、修改conf/hba

2021-01-25 21:20:55 331

原创 使用Spark统计全国县的面积

1、软件环境 操作系统为ubuntu 20,spark版本为3.0.1,python版本为3.8,spark安装在本机上,python安装pyspark模块 2、矢量数据 矢量数据为下载的全国县shp数据 3、代码 1、首先,使用python读取shp,生成几何信息的wkt串文本文件 strPath = "/home/linjx/Desktop/data/gis/vector/test/county.shp"d...

2021-01-24 19:10:18 380

原创 63. 不同路径 II

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/unique-paths-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题:1、动态规划算法cla

2020-07-06 21:27:07 630

原创 python-面包店算法实现多线程锁

#coding: UTF-8import threadingimport timeimport random# 面包店算法实现线程锁# 争夺的资源incNum = 0class BakeryLock: def __init__(self, threadCount): # 取得的号码 self.number = [0 for _ in range(threadCount)] # 是否正在取号 self.enterin.

2020-05-17 21:40:07 359

原创 模拟退火算法介绍-代码实现

1、爬山算法爬山算法是一种非常简单的贪心算法,它总是从当前解的邻近解中选择最优解作为当前解,直到达到局部最优解。爬山算法的算法过程如下图所示:假设当前解从C点开始,经过若干次的邻近最优解搜索,到达了局部最优解A,此时A的邻近解中没有比当前解更优的,因此爬山算法到此结束,返回的最优解A。很明显,最优解应该是B点处的解,这便是爬山算法最大的弊端:极容易陷入局部最优。2、模拟退火算法...

2020-03-16 21:39:02 941

原创 LeetCode--分发饼干

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj。如果 sj >= gi,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口值为正。一...

2020-03-13 21:25:59 203

原创 LeetCode--压缩字符串

给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。进阶:你能否仅使用O(1) 空间解决问题?示例 1:输入:["a","a","b","b","c","c","c"]输出:返回6,输入数组的前6个字符应该是:["a",...

2020-03-06 20:15:38 524

原创 C++ 基于List与Map实现的LRU缓存

常见的缓存淘汰算法有先进先出淘汰算法(FIFO),最近最少使用淘汰算法(LSU),最近最久未使用算法(LRU),MRU(最近最常使用算法)。其中最常用的就是LRU缓存淘汰算法,下面给出代码实现。#include "stdafx.h"#include <iostream>#include <map>#include <list>using name...

2020-03-04 21:34:28 1191

原创 LeetCode--路径总和III

给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8...

2020-03-01 22:07:53 164

原创 LeetCode-左叶子之和

计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-of-left-leaves著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注...

2020-02-29 21:54:27 336

原创 LeetCode--判断子序列(简单)

给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1:s ...

2020-02-27 22:27:58 472

原创 C++11 智能指针概述

0.什么是智能指针?智能指针是一种用来管理资源指针的特殊对象,对象中有一个成员变量用来保存动态创建的裸指针,通过重载operator->方法实现类似于裸指针的使用方式。1.智能指针的作用是什么?我们平时使用C++编写代码时,动态内存管理是我们时刻关注的重点。动态内存管理不好,容易出现下述三类问题:1、野指针(空悬指针)一些内存单元已经被释放,但是指向这些内存的指针还在使用...

2020-02-27 20:19:00 236

原创 LeetCode-移动零

难度:简单给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:1、必须在原数组上操作,不能拷贝额外的数组。2、尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes...

2020-02-22 22:06:54 104

原创 LeetCode-第一个错误版本

你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用bool isBadVersion(version)接口来判断版本号 version 是否在单元测试中出...

2020-02-21 21:07:25 198

原创 LeetCode-缺失数字

给定一个包含 0, 1, 2, ..., n中n个数的序列,找出 0 .. n中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例2:输入: [9,6,4,2,3,5,7,0,1]输出: 8说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?来源:力扣(LeetCode)链接:https://leetcode-cn.com...

2020-02-21 20:48:56 407

原创 LeetCode-丑数

编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数2, 3, 5的正整数。示例 1:输入: 6输出: true解释: 6 = 2 ×3示例 2:输入: 8输出: true解释: 8 = 2 × 2 ×2示例3:输入: 14输出: false解释: 14 不是丑数,因为它包含了另外一个质因数7。说明:1、1是丑数。2、输入不会超过 3...

2020-02-21 20:28:03 221

原创 LeetCode-二叉树的所有路径

给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1/ \2 3\ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3来源:力扣(LeetCode)链接:https://leetcode-...

2020-02-19 21:13:22 213

原创 LeetCode-回文链表_进阶

请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-linked-list著...

2020-02-18 21:26:10 240

原创 LeetCode-翻转二叉树

翻转一棵二叉树。示例:输入: 4 / \ 2 7/ \ / \1 3 6 9输出: 4 / \ 7 2/ \ / \9 6 3 1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/invert-binary-tree著作权归领...

2020-02-16 19:45:05 298

原创 LeetCode-快乐数

题目描述:编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例:输入: 19输出: true解释: 12 + 92 = 8282 + 22 = 6862 + 82 = 10012 +...

2020-02-15 19:32:42 115

原创 Netty+Vue实现一个简单的web服务器

最近一直在用Netty做一个数据服务,此服务的主要功能是接收客户端的Http请求并解析,经过业务逻辑处理后访问HBase获取数据流,然后返回给客户端。在服务的初始开发阶段,重心全部在如何设计Netty服务端的线程模型和缓存方案从而能更快的响应客户端请求,提高服务端的吞吐量,经过两个月的开发调试,性能基本达到要求。在核心功能基本可用后,一直在思考如何提供一个服务端的状态展现和管理动态页面。虽...

2019-05-03 23:22:12 3976

原创 三种java对象跨语言序列化反序列化实现与效率对比-上

    java对象常用的跨语言序列化反序列化主要有三种:一是xml形式;二是json形式;三是protobuf字节流形式。本篇文章主要介绍这三种序列化反序列化方式的实现和其效率对比。    首先介绍xml形式的序列化与反序列化,使用jaxb来实现。JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成...

2018-04-22 21:46:00 5261

原创 zooKeeper使用NIO通信中解决tcp粘包、拆包的方法

Tcp协议是个“流协议”,流就是没有界限的一串数据。Tcp底层并不关心上层业务数据,它会根据Tcp缓冲区的实际情况进行包的划分。所以,在业务上一个完整的数据,可能会被拆分成多个Tcp数据包进行传输,也可能会将业务上的多个数据打包为一个数据包进行传输。所以,必须在Tcp的上层设计应用协议来解决。业界主流协议的解决方案,可以归纳为如下四种:1、消息定长。例如每个报文的大小固定为200字节,如果

2017-11-27 19:58:29 1102 1

原创 分布式一致性算法Paxos JAVA多线程方式实现

github地址:https://github.com/hellolinjx/PaxosImpl/// 准备提案过程,获得大多数决策者支持后进入确认提案阶段。 public synchronized boolean prepare(){ PrepareResult prepareResult = null; boolean isContinue = true;

2017-10-22 23:29:46 1931

原创 hadoop搭建与编译运行wordcount例

今天,58笔试有一道设计题。题目描述如下:服务器记录了很多访问日志,现在想找出访问前十多的ip地址。给出解决方法。我的思路是:首先,利用hadoop,统计每个ip的访问次数,生成序列。然后,建立容量大小为10的小头堆,利用堆排序的方法,找出前十多的ip。首先,生成 的算法和wordCount算法相似。因此我首先搭建了hadoop,编译好wordcount后,在hadoop上运行。1

2017-09-17 21:01:16 514

原创 geoTools使用实例1

geoTools是开源的JAVA GIS工具包,利用它提供的接口,我们可以编写自己的一个地理信息显示查询软件。记录一下使用geotools的helloWorld程序。首先,下载geotools的jar包,https://sourceforge.net/projects/geotools/files/,里面有各种版本的geotools jar包,我选择的是16版本的。然后,在eclips

2017-04-06 10:13:27 10159 3

原创 地图基础知识初步总结

虽然是计算机专业,但是每天的工作也是和地图打交道,主要负责的工作是矢量引擎,耳濡目染之下,也懂得了一些地图的知识。下面先总结一下一些基础知识。地图原始数据主要分为两大类:矢量数据和栅格数据,矢量数据是用离散的点(point)来表示各种真实世界中的目标,例如公路、省界、国界、河流、岛屿等。矢量目标(Vector Feature)主要有三类:点、线、面。这三类矢量目标是现实世界中各种目标的抽象

2017-04-06 09:54:53 2179

原创 VS1053B模块使用记录

vs1053b是一个mp3解码播放模块,也可以录制adpcm音频。1、播放mp3播放mp3比较简单,只要把数据通过spi传输到芯片即可。然后,当芯片需要数据时,会将dreq置高,通过一个检测上升电平沿的中断,即可refill数据给vs10532、录制adpcm音频1、首先,需要根据芯片手册预写好wav头。开始录音之前,根据手册,需要写入一串十六进制,用来修改vs1053录音时读不出

2016-03-29 12:38:53 7359 1

原创 ESP8266-01使用记录

ESP8266芯片是wifi连接芯片,可以实现tcp连接和udp连接,同时也可实现自建热点功能。1、esp8266联网方式1、通过在程序中写入无线路由的ssid和密码,即可连接。2、通过乐鑫智连接3、通过微信airkiss连接。只需设置好esp8266的连接模式,然后通过微信扫码就可以配置wifi连接。2、esp8266实现网页请求1、通过tcp连接到远程服务器。

2016-03-29 12:32:26 1635

转载 ubuntu下安装ffmpeg

安装包和主要步骤: 1. 首先安装系统基础环境RHEL & CentOS 系列:yum install -y automake autoconf libtool gcc gcc-c++Debian & Ubuntu 系列:apt-get install automake autoconf libtool gcc gcc-c++ 2. 下载最新的FFM

2016-03-25 14:21:35 1004

原创 部门考勤系统网站开发配置记录

操作系统:win7 32位 网站: jsp  数据库 sql server 2005配置步骤:    一、解压文件MyEclipse.zip 和 newKQworkspace.zip   二、安装解压出来的jdk1.6-6u6 注意,一定要使用1.6版本,使用其他版本会出错。(亲测)   三,安装解压出来的MyEclipse。   四、安装解压出来的tomcat6.0 

2015-12-15 23:20:15 896

原创 mac下配置matplotlib绘图

因网络科学与决策机制课程大作业需要使用python读取csv文件,制作图表,故配置matplotlib。环境:    macos 10.10;python 2.7配置过程:     参考:http://matplotlib.org/faq/installing_faq.html#which-python-for-os-x  在命令终端里输入:  安装pips

2015-12-14 20:18:01 8387

原创 cakephp中使用ajax获得数据,动态折线显示

新建ShowController.php:<?phpnamespace App\Controller;use App\Controller\AppController;class ShowController extends AppController { public function initialize() { parent::initialize();

2015-12-12 23:44:38 1321

原创 cakephp 中对于数据库的增删查改操作

查找:$user_id=$this->request->session()->read('User.id'); $query = $this->Devicesdatas ->find() ->where(['user_id' => $user_id]); $this->paginate = [

2015-12-12 23:38:24 3133 1

原创 安卓获取gps地理位置信息

一、新建一个安卓项目   在main_activity.java中,写入下列代码:package com.example.gpsget;import java.util.Iterator; import android.app.Activity; import android.content.Context; import android.content.Intent

2015-12-12 23:28:48 1135

原创 Android上传图片和文件到服务器

在项目开发中,需要上传图片和文件到服务器端,所以需要安卓模拟文件表单提交。安卓端代码: private String uploadFile() { DebugLogger.d(TAG, "start upload img!"); String end ="\r\n"; String twoHyphens ="--"; String bo

2015-12-12 23:15:19 995

C程序实现多进程

这是关于c语言实现多进程的最简单例子,让您了解c的强大!

2012-10-25

空空如也

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

TA关注的人

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