自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

万物皆可互联,一切均可编程

学如逆水行舟,不进则退

  • 博客(165)
  • 资源 (3)
  • 收藏
  • 关注

原创 java并发之线程池

线程池线程池的好处是减少在创建和销毁线程上所消耗的时间以及系统资源的开销,解决资源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者“过度切换”的问题。线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。——阿里巴巴java开发手册线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。——阿里巴巴java开发手册...

2020-08-07 15:41:14 156

原创 java并发之CAS

一、什么是CASCAS,全称为CompareAndSwap,即比较并交换。二、代码CAS实现一个自旋锁import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicReference;public class SpinLockDemo { public AtomicReference<Thread> atomicThread = new AtomicReference<

2020-08-07 06:31:19 184

原创 java并发之内存模型(JMM)

主内存与工作内存每个线程只能够直接接触到工作内存,无法直接操作主内存,而工作内存中所保存的正是主内存的共享变量的副本,主内存和工作内存之间的通信是由 JMM 控制的。JMM 有以下规定:(1)所有的变量都存储在主内存中,同时每个线程拥有自己独立的工作内存,而工作内存中的变量的内容是主内存中该变量的拷贝;(2)线程不能直接读 / 写主内存中的变量,但可以操作自己工作内存中的变量,然后再同步到主内存中,这样,其他线程就可以看到本次修改;(3) 主内存是由多个线程所共享的,但线程间不共享各自的工作内

2020-08-05 22:41:56 185

原创 java并发之volatile

特点保证可见性不保证原子性禁止指令重排代码import java.util.concurrent.TimeUnit;class Share { public volatile int num1 = 0; public int num2 = 0; public void method1() { try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedExcep

2020-08-05 22:24:15 171

原创 java并发之synchronized

特点保证每一时刻仅有一个线程访问资源是非公平锁,可重入锁以谁作为锁以类作为锁 public static synchronized void staticMethod1() { //method body } public static void staticMethod2() { synchronized (Share.class) { //method body } }静态方法以类作

2020-08-05 20:42:24 182 1

原创 算法之位运算与数论(java)

整型的存储原码正数(包括+0):符号位为0,数值位由十进制转为二进制存储。负数(包括-0):符号位为1,数值位由十进制转为二进制存储。反码正数(包括+0):与原码一致。负数(包括-0):符号位与原码一致,数值位由原码按位取反。补码正数(包括0):与原码一致。负数:符号位与反码一致,数值位由反码加1。反码中的0只有一种形式,即全零存储。计算机中整型存储都用补码。java中Integer的范围为:-232 ~ 232 - 1,其他整型与Integer类似。位运算按位与

2020-07-16 07:08:48 421 1

原创 数据结构之树(java)

概念完全二叉树除了最后一层结点,其它层的结点数都达到了最大值;同时最后一层的结点都是按照从左到右依次排布。二叉排序树(BST树)是一棵空树,或者:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。平衡二叉树(AVL树)它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。堆是一棵完全二叉树

2020-07-10 17:09:11 166

原创 hadoop伪分布式模式安装

前言安装模式本地模式伪分布式模式完全分布式模式环境jdk 1.8hadoop 2.8.5前提条件已安装jdk,以配置jdk环境变量伪分布式模式安装/etc/profile配置环境变量export HADOOP_HOME=/home/wsx/opt/hadoop-2.8.5export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH${HADOOP_HOME}/etc/hadoop/hadoop-env.sh在文

2020-06-17 13:37:19 197

原创 hive本地模式安装

前言三种模式嵌入模式,使用derby作为元数据库本地模式,使用mysql等数据库作为元数据库,与hive安装在同一台机器上远程模式,使用mysql等数据库作为元数据库,与hive安装在不同机器上环境ubuntu 18.04mysql 5.7.30hadoop 2.8.5hive 2.3.7前提条件mysql数据库已安装hadoop已安装,并已经配置好环境变量(hive依赖hadoop)本地模式安装mysql数据库数据库用户名:root数据库密码:root新建一

2020-06-17 13:01:27 297

原创 IDEA使用指南

快捷键官方Help->Keymap Reference调试Step Over单步执行,不会进入函数内部,直接一整行代码执行过去Step Into单步执行,遇到子函数就进入并且继续单步执行(只能进入自己写的函数)Force Step Into单步执行,遇到子函数就进入并且继续单步执行(可以进入所有方法,如jdk自身的函数)Step Out执行完当前函数的余下部分,并返回到上一层函数。若当前函数时main函数,则程序运行完毕...

2020-05-18 11:53:34 220 1

原创 搜索总结(java)

二分查找class Solution{ public int binarySearch(int[] arr, int target) { int l = 0, h = arr.length - 1; while (l <= r) { int mid = (l + h) / 2; if (arr[mid] == target) { return mid; } els

2020-05-16 22:17:59 169

原创 回溯算法总结(java)

回溯算法回溯法按深度优先策略搜索问题的解空间树。首先从根节点出发搜索解空间树,当算法搜索至解空间树的某一节点时,先利用剪枝函数判断该节点是否可行(即能得到问题的解)。如果不可行,则跳过对该节点为根的子树的搜索,逐层向其祖先节点回溯;否则,进入该子树,继续按深度优先策略搜索。回溯法的基本行为是搜索,搜索过程使用剪枝函数来为了避免无效的搜索。剪枝函数包括两类:1. 使用约束函数,剪去不满足约束条件的路径;2.使用限界函数,剪去不能得到最优解的路径。回溯算法说白了就是穷举法。不过回溯算法使用剪枝函数,剪去一

2020-04-15 08:11:43 6503 3

原创 贪心算法总结(java)

什么是贪心算法最优子结构性质贪心选择性质无后效性自顶向下算法经典问题

2020-04-14 10:10:15 232

原创 方阵遍历(java)

public class Test { public static void main(String[] args) { //方阵 int[][] arr = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}; System.out.println("遍历全部矩阵:"); f...

2020-04-14 09:18:36 841

原创 排序总结(java)

总结类别名称最好时间复杂度最坏时间复杂度平均时间复杂度空间复杂度稳定性选择排序简单选择排序O(n^2)O(n^2)O(n^2)O(1)不稳定选择排序堆排序O(nlogn)O(nlogn)O(nlogn)O(1)不稳定交换排序快速排序O(nlogn)O(n^2)O(nlogn)O(nlogn)不稳定插入排序直接插...

2020-04-12 21:43:38 196

原创 动态规划算法总结(java)

什么是动态规划动态规划是一种多阶段决策最优解模型,一般用来求最值问题,多数情况下它可以采用自下而上的递推方式来得出每个子问题的最优解(即最优子结构),进而自然而然地得出依赖子问题的原问题的最优解。最优子结构性质重叠子问题性质自底向上算法判断题目是否能用动态规划判断是否可用递归来解分析在递归的过程中是否存在大量的重复子问题采用备忘录的方式来存子问题的解以避免大量的重复计算(剪枝...

2020-04-12 15:15:40 427

原创 数据结构总结(java)

动态规划贪心递归与回溯递归的基本性质就是函数调用,在处理问题的时候,递归往往是把一个大规模的问题不断地变小然后进行推导的过程。回溯则是利用递归的性质,从问题的起始点出发,不断地进行尝试,回头一步甚至多步再做选择,直到最终抵达终点的过程。排序概念辨析递归是自顶向下算法动态规划是自底向上算法数组优点构建非常简单能在 O(1) 的时间里根据数组的下标(index)查询...

2020-04-09 20:53:33 200

原创 scala语言基础

数据类型数据类型描述Byte8位有符号补码整数。数值区间为 -128 到 127Short16位有符号补码整数。数值区间为 -32768 到 32767Int32位有符号补码整数。数值区间为 -2147483648 到 2147483647Long64位有符号补码整数。数值区间为 -9223372036854775808 到 922337203685...

2020-03-31 18:59:07 131

原创 kafka架构

topic有好多partition(存储内容不同),均匀分布在每个broker上每个partition都有好多replica(存储内容相同),原partition称为leader,replica称为follower

2020-01-02 19:52:50 223

原创 spark各种算子

transformation(返回值为RDD)mapflatMapfiltermapPartitionsmapPartitionsWithIndexsampleunionsubtractintersectiondistinctreduceByKeygroupByKeyaggregateByKeyfoldByKeycombineByKeysortByKeyjoin...

2019-11-18 20:23:45 149

原创 ubuntu冷知识

ubuntu无法执行su命令默认状态下root用户被禁用,需要sudo passwd若要再禁用root,需要sudo passwd -l root

2019-11-09 19:10:50 232

原创 java与mysql及其jdbc

对应关系mysqljavadatejava.sql.DateDatetimejava.sql.TimestampTimestampjava.sql.TimestampTimejava.sql.TimeYearjava.sql.Date

2019-10-30 19:32:50 435

原创 前端布局进阶

前言文档流:没有其他布局则是符合文档流规则的float:脱离文档流position:有四种:static,relative,absolute,fixed。floatpositionstatic默认为static,不脱离文档流,没有任何效果relative基于元素原来的位置产生了偏移,元素原来的位置还保留着,不脱离文档流<!DOCTYPE HTML>&l...

2019-09-10 22:26:18 281 2

原创 html的display属性

block标签(比如div)默认独占一行显示,撑满一行,高度为0支持所有css命令设置了宽度后,后面剩余的宽度还是会占一行,只是不显示属性display可以改变标签的标签的属性inline(内嵌)标签(比如span)不占一行显示,后面可以继续跟同类型标签内容撑开宽度不支持宽高不支持上下的margin和padding代码换行被解析属性display可以改变标签的标签的属性...

2019-09-10 18:21:06 28246

原创 hbase集群配置及运行

前言三台centos,一台master,两台slave默认已经配置好zookeeper,hadoopjava与hbase版本兼容表hadoop与hbase版本兼容表对于三台机器,编辑/etc/hosts,在最后加上下面几句话10.61.8.247 master.wsxiot.cn10.61.8.245 slave1.wsxiot.cn10.61.8.246 slave2.wsx...

2019-07-05 16:14:36 296 1

原创 kafka集群配置及运行

前言三台centos版本kafka_2.11-2.2.1已提前配置好zookeeper,配置博客三台机器均修改配置文件${KAFKA_HOME}/config/server.properties#broker的全局唯一编号,三台机器不能重复,master为0,slave1为1,slave2为2broker.id=0#zookeeper列表zookeeper.connect=ma...

2019-07-02 21:51:46 350

原创 hadoop2.9.2集群配置及运行

前言hadoop版本为2.9.2oracle java 1.8三台centos7官方文档每台机器上/etc/hosts最后添加10.61.8.247 master.wsxiot.cn10.61.8.245 slave1.wsxiot.cn10.61.8.246 slave2.wsxiot.cn每台机器上配置hadoop环境变量并重启export HADOOP_HOME=/...

2019-07-02 21:28:10 1574

原创 zookeeper基础入门

前言配置安装版本:apache-zookeeper-3.5.5-bin.tar.gz三台centos7的计算机,目标搭建全分布式zookeeper集群官方集群搭建文档Install the Oracle Java JDK.Set the Java heap size.Install the ZooKeeper Server Package.在${ZK_HOME}/conf/ 目录...

2019-06-22 21:56:46 195

原创 英语学习感悟

博主是英语学渣,本文是博主自身的英语感悟,不一定是正确的,随着学习的深入,持续更新英语的学习不能对照汉语思维,即汉语的思维方式,应该尽最大努力摒弃汉语,避免翻译成汉语才懂得意思,做到英语的条件映射听说读写译,一样都不能少一门语言是用来使用的,一心只读圣贤书的做法是错误的,语言应该是贴近生活并应用于生活汉语习惯先说原因再说结论,英语则相反,先说结论再说原因...

2019-06-03 10:54:52 566 2

原创 Class.getResource和ClassLoader.getResource的路径问题

package cn.wsxiot;public class Test { public static void main(String[] args) { //此类所在的包路径,classpath:/cn/wsxiot System.out.println(Test.class.getResource("")); //classpath...

2019-05-11 13:47:06 188

原创 mysql5.7重置密码

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf在这个配置文件中的[mysqld]这一块中加入skip-grant-tables这句话,重启服务mysql -u root -p 直接回车免密登录use mysqlupdate user set authentication_string=password("yourpassword"),plugin=...

2019-05-05 15:21:42 822

原创 哲学思考

分布式系统架构的第一原则是不要分布------Leader-us计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决,如果不行那就再加一层在不可靠的组件中实现可靠的系统在分布式中,最大的开销是网络io没有一种是生而完美的,要结合各种场景、各种技术,权衡性能、成本、需求、拓展性、安全等问题,选出最好的...

2019-03-26 10:47:05 491

原创 centos7虚拟机离线安装HDP

实验环境一台主机:win7三台虚拟机:centos7,一台为master,另外两台为slave约定:为了避免错误,所有操作均使用root用户准备安装包ambari-2.6.0.0-centos7.tar.gzHDP-2.6.3.0-centos7-rpm.tar.gzHDP-UTILS-1.1.0.21-centos7.tar.gzjdk-8u112-linux-x64.ta...

2019-02-25 09:55:19 893

原创 npm命令

初始化package.jsonnpm init安装工程开发时依赖,对应于devDependenciesnpm install {moduleName} --save-devnpm i {moduleName} -D #上面命令的简化安装工程运行时依赖,对应于dependenciesnpm install {moduleName} --savenpm i {moduleN...

2018-11-29 20:11:27 218

原创 前端进阶踩坑教程

前言两年前看过慕课网的前端视频教程,讲了html,css,javascript,懂了其中的运作以及之间的交互,无力由美工给出设计,根据设计写出界面html属性与css属性他们之间不是一个东西,html属性到css的style标签里面是无效的http://www.w3school.com.cn/tags/index.asphttp://www.w3school.com.cn/cssr...

2018-11-02 16:00:04 275

原创 ipv6的若干问题

ipv4与ipv6ipv4有32位,格式为A.B.C.D,范围是0.0.0.0~255.255.255.255ipv6有128位,格式为A:B:C:D:E:F:G:H,范围是0:0:0:0:0:0:0:0~FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFFipv4与ipv6兼容的两种技术双栈技术:主机或路由器同时装有IPV4和IPV6两个协议栈,因此主机既...

2018-10-25 19:16:49 697

原创 颈椎病康复指南

显示器不要放置太低,必须与眼睛保持在同一水平面。肘部不要低于桌面。键盘不要放在离手太远的地方,肘与两肩保持水平很重要。座椅不要太低,不要压迫到膝盖以下部位。使用电脑的人不要屈膝,把脚放在座椅下。最好将整个脚平放在地面上。...

2018-10-23 16:57:42 1029 4

转载 maven的pom.xml标签详解

&amp;amp;amp;amp;lt;?xml version=&amp;amp;amp;quot;1.0&amp;amp;amp;quot; encoding=&amp;amp;amp;quot;UTF-8&amp;amp;amp;quot;?&amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;project xmlns=&amp;amp;amp;quot;http://maven.apache.org/POM

2018-10-20 20:30:27 313 1

原创 maven生命周期

Maven有三套相互独立的生命周期CleanLifecycle 在进行真正的构建之前进行一些清理工作DefaultLifecycle 构建的核心部分,编译,测试,打包,部署等等SiteLifecycle 生成项目报告,站点,发布站点CleanLifecycle执行阶段描述说明pre-clean在实际的项目清理之前执行所需的过程clean删除前一个构建生成...

2018-10-20 14:23:47 209

原创 ubuntu18.04设置启动器

系统:ubuntu18.04有的程序直接打开就可以添加到左侧dock栏;有的程序,比如自己写一个命令行程序,就不能直接添加;文件目录在/usr/share/applications,首先保证该应用程序在该目录下没有desktop文件,自行在该目录下新建xxx.desktop 的文件,亲测可以添加到左侧dock栏点击左侧dock栏下面的9个点,然后出来一个搜索框,搜索该应用程序名称,找到后在...

2018-10-08 15:12:21 1489

vlan实验指导书

关于vlan的实验指导书,使用cisco packet tracer, 关于vlan的实验指导书,使用cisco packet tracer

2018-12-28

OpenCV入门教程.pdf

OpenCV中文入门教程,很基础,OpenCV中文入门教程,很基础

2018-04-05

山东科技大学2017无线传感器网络课程ppt

山东科技大学2017无线传感器网络课程ppt山东科技大学2017无线传感器网络课程ppt山东科技大学2017无线传感器网络课程ppt

2018-01-07

空空如也

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

TA关注的人

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