- 博客(49)
- 收藏
- 关注
原创 十二 Java多线程基础
文章目录基础进程和线程的区别核心概念创建线程的三种方式Lamda表达式函数式接口lambda使用总结进程状态五大状态线程方法进程停止线程休眠(sleep)线程礼让(yield)线程强制执行(join)线程状态观察线程优先级守护(daemon)线程线程同步队列和锁Synchronizer(同步器)synchronized关键字基本使用死锁基本原理死锁的必要条件相关思考synchronized的优化锁定对象状态对锁定的影响尽量不要以String字符串类型作为锁对象Lock(锁)synchronized与lock
2022-04-29 15:34:34 475
原创 十一 Java的IO流
文章目录文件概念常用操作构造方法获取文件信息目录操作IO流原理及流的分类IO流原理流的分类常用的类JavaIO流体系图字节流FileInputStreamFileOutputStream作业字符流FileReaderFileWriter节点流和处理流基本介绍区别和联系处理流讲解BufferedReader和BufferedWriterBufferedInputStream和BufferedOutputStream对象处理流:ObjectInputStream和ObjectOutputStream注意事项和细
2022-04-14 18:35:09 942
原创 十 Java集合框架(3):Map接口
文章目录Map接口特点代码示例Map中的EntrySetMap接口常用方法遍历方式HashMap特点底层机制扩容机制put()源码分析resize()源码分析resize()总结HashTable基本介绍源码分析HashMap与HashTable的比较Properties基本介绍代码示例TreeMap基本介绍原理源码如何选择集合实现类Map接口特点Map用于保存具有映射关系的数据:key-value(双列元素)Map中的 key 和 value 可以是任何引用类型的数据,会封装到 Hash
2022-03-07 20:21:25 1631 2
原创 十 Java集合框架(2):Set接口
文章目录Set接口和常用方法基本介绍set接口常用方法set接口的遍历方式Set实现类--HashSet基本介绍HashSet底层机制源码分析HashSet的add方法HashSet扩容机制代码实践Set实现类--LinkedHashSet基本介绍源码分析Set实现类--TreeSet课程视频:https://www.bilibili.com/video/BV1YA411T76k?spm_id_from=333.999.0.0Set接口和常用方法基本介绍无序(添加和取出的顺序不一致),没有索
2022-03-04 16:25:48 910
原创 十 Java集合框架(1):List接口
文章目录集合与数组区别Collection体系框架图Collection接口和常用方法操作元素方法使用迭代器遍历增强for循环遍历List接口方法List 接口基本介绍常用方法List遍历List实现类--ArrayListArrayList 注意事项ArrayList 的底层操作机制源码分析(重点,难点)List实现类--Vector基本介绍Vector与ArrayList的比较List实现类--LinkedList基本介绍LinkedList底层结构源码分析ArrayList和LinkedList比较
2022-03-04 16:23:18 894
原创 IDEA相关设置
文章目录IDEA调试时step into进不去源码的调试时看不到为null的数据IDEA调试时step into进不去源码的file -> settings -> build,execution这栏 -> debugger -> stepping 然后把do not step into the classes去掉勾就行针对具体需求,也可以进去下面的方框内取消勾选对应的类包调试时看不到为null的数据集合类的实际size后续的null数据无法查看,虽然扩容但是看不到。设置:
2022-03-02 16:16:02 184
原创 九 Java常用类
文章目录Object类getClass()方法hashCode()toString()equals()方法finalize()包装类类型转换与装箱、拆箱整数缓冲区String类不可变性new创建String对象常用方法String类练习题可变字符串BigDecimalDate类Calendar类SimpleDateFormat类System类Object类超类、基类,所有类的直接或间接父类,位于继承树的最顶层任何类,如没有书写extends显式继承某个类,都默认直接继承Object类,否则为间接继承
2022-02-25 16:57:29 1345
原创 八 Java异常
文章目录什么是异常异常分类异常体系结构ErrorException异常处理机制自定义异常实际应用中的总结什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序再跑着,内存或硬盘可能满了,等等。软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些,例外情况,或者叫异常,怎么让我们写的程
2022-02-19 23:05:10 137
原创 七 Java面向对象
文章目录面向对象概念面向过程&面向对象什么是面向对象方法类与对象创建和初始化对象类的构造器创建对象内存分析三大特性封装继承super重写java的访问权限多态instanceof类型转换补充static抽象类接口内部类面向对象概念面向过程&面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面对过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行
2022-02-19 16:13:03 633
原创 六 Java数组
数组的定义数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arrayRefVar; //首选的方法dataType arrayRefVar[]; //效果相同Java语言使用new操作符来创建数组,语法如下:dataType[] arrayRefVar
2022-02-13 14:40:17 601
原创 四 Java流程控制
文章目录用户交互Scanner基本语法next和nextline接收的不同next方式接收示例nextline方式接收示例Scanner接收其他数据类型简单计算例题顺序结构选择结构if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构扩展内容:反编译循环结构while循环do while循环for循环:star:增强for循环break & continue流程控制练习idea的debug一、debug界面二、基本用法&快捷键三、变量查看四、计算表达式五、智能步入六、
2022-02-10 14:56:05 631
原创 五 Java方法
什么是方法Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。方法的命名规则:首字母小写和驼峰原则: run(), runRun()示例代码public class Demo01_what { //main方法 publ
2022-02-10 12:52:54 481
原创 Pycharm切换anaconda的环境
Pycharm下切换anaconda环境1、打开Pycharm的File->setting2、点击python interpreter点击相应的齿轮3. 有两个选项Add : 添加新的解释器(如果没有加载过就点击这个)Show All : 可用的解释器列表(如果已经有了,可以点击选择相应的环境)Add新增环境 选择相应的Conda环境,点击已经用Anaconda存在环境,选择相应的文件夹(文件夹名字就是Anaconda的环境名)的python.exe文件如下图:切换的环
2022-01-19 13:13:30 15335
原创 三 Java基础
创建项目直接创建项目创建空项目增加模块new 空项目File -> new -> Module设置项目结构 File -> Project Structure设置java的SDK版本 与 相对应的项目语言版本注释单行注释// 单行注释多行注释/*多行注释多行注释多行注释*/文档注释/*** @Description 文档注释* @Author ShaneCheng*/标识符关键字标
2022-01-16 17:45:54 836
原创 Linux如何修改用户名?
以下步骤都需要进入root权限操作 su root如果没有root权限,设置root密码 sudo passwd rootsudo vi /etc/passwd 找到原先的用户名,将其改为自己的用户名sudo vi /etc/shadow 找到原先用户名(所有的名字都要改),改为自己的用户名将home目录下的用户目录改为自己的用户名:例如原先目录名为xxxx, 现要改为用户 yyyy。用命令 mv xxxx yyyy即可。reboot 重启即可发现用户名已经修
2021-12-15 15:51:11 6324 2
原创 二 Java开发环境搭建
JDK下载与安装JDK卸载删除java的安装目录删除JAVA_HOME删除path下关于java的目录java -version查看是否删除安装JDK百度搜索JDK8,找到下载地址同意协议下载电脑对应的版本双击安装JDK记住安装的路径配置环境变量我的电脑 –> 右键 -->属性环境变量 --> JAVA_HOME配置path变量测试JDK是否安装成功打开cmdjava -versionJDK目录介绍bin目录 : 可执行文件(
2021-12-05 15:34:00 439
原创 一 java入门
高可用 高性能 高并发java特性和优势简单性:java即C++的纯净版,没有头文件,没有指针运算,也不用分配内存,语法基于C面向对象:程序设计技术,万物皆对象可移植性:write once,run anywhere。跨平台性是它的独特优势高性能:及时编译,使某些代码的效率接近C++的效率分布式:java就是为网络分布式协议所设计的,它能处理很多TCP/IP协议上的东西,可通过URL打开网络上的资源,如同在本地打开我的电脑一样方便;java还支持远程方法调用,使得一些程序能通过网络去调用方法也
2021-12-03 10:57:43 238
原创 常用Dos命令
打开CMD方式开始 + 系统 + 命令提示符win + R 输入cmd打开控制台(推荐使用)在任意文件夹下面,shift键+右键 打开命令行运行窗口资源管理器的地址栏 输入cmd + 空格 + 路径管理员方式运行:右键选择以管理员方式运行常用快捷键盘符切换 盘符 + 冒号查看当前目录下的所有文件 dir切换目录 cd + 目录/d 实现跨盘符的切换 注意/d为参数(斜杠) c:\home为文件路径(反斜杠)cd … 返回上级目录cd 下级目录清理屏幕
2021-12-02 20:51:13 110
原创 Windows常用快捷键
Windows常用快捷键Ctrl + C 复制Ctrl + V 粘贴Ctrl + A 全选Ctrl + X 剪切Ctrl + Z 撤销Ctrl + S 保存Alt + F4 关闭窗口Shift + Delete 永久删除Ctrl + Shift + esc 任务管理器win + E 文件管理器win + R 运行窗口win +Tab 切换窗口...
2021-12-02 20:18:59 809
原创 MarkDown常用语法
推荐文本编辑器typora文件后缀 : .md格式标题#+空格+一级标题 或者 ctrl+1##+空格+二级标题 或者 ctrl+2…字体一个星号 斜体 斜体两个星号 黑体 黑体三个星号 黑体+斜体 黑体+斜体两个波浪线 废除 废除引用大于号 + 空格别人的东西分割线三个减号三个星号图片感叹号 +中括号 + 小括号中括号中写图片名臣,小括号写图片路径,可以是本地地址或者url[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r
2021-12-02 20:00:41 93
原创 第一章 TensorFlow基础——python语法(三)
简明Python基础(三)此为jupyter notebook导出文档,如果习惯jupyter界面可以下载文件链接:https://pan.xunlei.com/s/VMn5shjbvhvIPMqdURC6TZHXA1提取码:pafn复制这段内容后打开手机迅雷App,查看更方便Python的行python中没有强制的语句中止符多行语句Python语句中一般以新行(换行)作为语句的结束符thisIsaVeryLongVariableNameSoCantWriteInOneLineVariab
2021-10-28 20:32:59 516
原创 第一章 TensorFlow基础——python语法(二)
简明Python基础(二)此为jupyter notebook导出文档,如果习惯jupyter界面可以下载文件链接:https文章目录简明Python基础(二)1. 字符串List(列表)Tuple元组Set集合Dictionary字典print格式化输出格式化操作符辅助指令类型转换1. 字符串字符串可以用双引号修饰,也可以用单引号。var1 = "I love Python"var2 = '我爱中华'#python3直接支持中文等符号,包括标识符print(var1,type(var1))
2021-10-28 20:31:29 214
原创 第一章 TensorFlow基础——python语法(一)
简明Python基础(print、变量、数据类型、基本运算)此为jupyter notebook导出文档,如果习惯jupyter界面可以下载文件链接:https://pan.xunlei.com/s/VMkW0dW8tQ920SgBgEw0uCxJA1提取码:i6eu复制这段内容后打开手机迅雷App,查看更方便1 简单print用法print 函数 - 在终端输出,python 3 需要加阔号,python 2 不用Python中没有强制的语句终止字符print("hello,world")
2021-09-26 15:35:59 659
原创 Jupyter notebook 多行注释 输出注释的文本
单行注释用"#"多行注释用’’'或"""今天在使用多行注释时,出现以下问题,在三个单引号修饰的注释竟然输出了。查找了很久资料没找到,后来发现只需要在后面加上任意代码块,就能正常识别注释。...
2021-09-10 11:30:58 2915 3
原创 MapReduce流程(WordCount案例实现)
1 MapReduce概述设计构思MapReduce是一个分布式运算程序的编程框架,核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在Hadoop集群上。MapReduce设计并提供了统一的计算框架,为程序员隐藏了绝大多数系统层面的处理细节。为程序员提供一个抽象和高层的编程接口和框架。程序员仅需要关心其应用层的具体计算问题,仅需编写少量的处理应用本身计算问题的程序代码。如何具体完成这个并行计算任务所相关的诸多系统层细节被隐藏起来,交给计算框架去处理:Map和R
2021-08-26 15:04:18 7153
原创 neo4j教程(CQL实现增查删改)
图数据库概念以“图”这种数据结构存储和查询数据,neo4j为其典型代表。对于图数据库来说,数据量越大,越复杂的关联查询,越有利于体现其优势——查询性能优势明显。数据模型实体(Entity)节点(Node)关系(Relationship)边/路径(Path)记号(Token)标签(Label)关系类型(Relationship Type)属性键(Property Key)属性(Property)实体每一个Neo4j图数据库中的实体都拥有一个用于区分实体与实体之间是
2021-08-23 11:40:10 1478
原创 统计学习方法的三要素
统计学习方法的三要素方法=模型+策略+算法模型定义1:决策函数的集合决策函数的集合:F={f∣Y=f(X)}\mathcal{F}=\{f \mid Y=f(X)\}F={f∣Y=f(X)}XXX和YYY是定义在输入空间和输出空间上的变量,F\mathcal{F}F通常是由一个参数向量决定的函数族参数空间:F={f∣Y=fθ(X),θ∈Rn}\mathcal{F}=\left\{f \mid Y=f_{\theta}(X), \theta \in \mathbf{R}^{n}\r
2021-08-16 09:42:46 226
原创 统计学习综述
统计学习综述概念 统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测和分析的一门学科。也称统计机器学习。特点* 以计算机及网络为平台,建立在计算机及网络上的。* 以数据为研究对象,是数据驱动的学科* 目的是对数据进行预测与分析* 以方法为中心,构建模型并应用模型进行预测和分析* 是概率论、统计学、信息论、计算机理论、最优化理论及计算机科学等多个领域的交叉学科统计学习的对象–数据* 基本假设:同类数据具有一定的统计规律性,这是统计学习的前提。* 以变量会变量组表示
2021-08-13 10:13:33 253
原创 统计学习的分类
文章目录基本分类监督学习无监督学习强化学习半监督学习主动学习按模型分类按算法分类按技巧分类贝叶斯学习(Bayesian learning)核方法(kernel method)基本分类统计学习可以基本分类分为监督学习、无监督学习、强化学习、半监督学习、主动学习等监督学习定义从标注数据中学习预测模型的机器学习问题标注数据表示输入输出的对应关系,预测模型对给定输入产生相应的输出本质:学习输入到输出的映射的统计规律相关概念输入空间(input space):输入的所有可能的取值集合
2021-08-13 10:11:24 735
原创 GitHub搜索指令教程
GitHub搜索指令教程1. in:根据某个关键词进行检索关键词name: 项目名称description: 项目描述readme: 项目帮助文档语法需要检索的内容 in:name 或 in:description 或 in readme举例例如检索项目名称包含C++的项目C++ in:name例如:检索项目描述中包含C++的项目C++ in:description例如:检索项目帮助文档中包含C++的项目C++ in:readme
2021-08-11 16:30:39 358
原创 6 HBase java API访问HBase数据库
HBase java API访问HBase数据库package com.hunan.hbase_options;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.*;import org.apache.hadoop.hbase.client.*;import org.apache.hadoop.hbase.util.Bytes;import java.io.IOException;/*D
2021-08-11 14:43:36 218
原创 C++ string的使用
头文件#include<string >string与char数组的相互转换string变为char数组string s = "123456";char p[20];strcpy_s(p,s.c_str());char数组变为string变量char ch[] = "afada";string s = ch;cout << as;看成char的vector
2021-08-09 19:46:57 85
原创 Fiddler抓包工具详解(五)(IOS、安卓抓包+fildder插件)
HTTPS抓包HTTPS与HTTP区别HTTPS 在HTTP 的基础下加入SSL/TLS,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。证书 里还有对称、非对称的加密 密钥 公钥设置过程点击Tools > Options >HTTPS勾选Decrypt HTTPS Traffic如果提示下载证书,就下载安装注意点,IE和Chrome都是读系统的证书,如果要Firefox的证书默认自己管理。修改过程在下一章。错误解决如果没抓到,可以尝试重装证书:A
2021-08-09 15:35:13 1757 1
原创 Fiddler抓包工具详解(四)(断点设置+弱网测试)
断点设置全局断点特点:所有请求断点设置方法一:Rules-Automatic Breakpoints设置方法二:快捷点击指定位置局部断点命令行设置断点bpu命令bpu 请求前断点,中断请求 URL 中包含指定字符的全部 session 响应。示例:bpu test.php (中断所有请求 URL 中包含指定字符的 Session)bpu (不带参数表示清空所有设置断点的 Session)bpafter命令bpafter 响应后断点,中断 URL 包含指定字符的全部 sessio
2021-08-09 10:41:52 1214
原创 Fiddler抓包工具详解(三)(fiddler监控面板+辅助工具)
fiddler的主界面Session List会话列表组成部分Fiddler抓取到的每条http请求(每一条称为一个session)主要包含了请求的ID编号、状态码、协议、主机名、URL、内容类型、body大小、进程信息、自定义备注等信息字段名含义#HTTP Request的顺序,从1开始,按解页面加载请求的顺序递增[Result]–ResultHTTP响应的状态码,可以参考我第一篇笔记。Protocol请求使用的协议(如HTTP/HTTPS/FTP)
2021-08-08 20:30:49 3823
原创 Fiddler抓包工具详解(二)(fiddler菜单工具栏详解,相关快捷键)
fiddler的主界面端口修改,是否进行系统代理,常用操作菜单栏(设置选项)File菜单(1)Capture Traffic是个开关,可以控制是否把Fiddler注册为系统代理。当把Fiddler注册为系统代理时,所有依赖于WinINET代理的应用(如IE浏览器和其他浏览器)会把Web请求发送给Fiddler.(2)New Viewer 是用来打开一个新的fiddler窗口(3)Load Archive 用于重新加载之前保存的fildder文档(4)Save 保存session会话(5
2021-08-07 13:04:07 2949
原创 idea好用的快捷键
idea好用的快捷键操作快捷键main方法main或psvmfor循环变量.for调用有返回值的方法初始化变量方法; Ctrl + Alt + V查看方法所需要的参数括号位置 Ctrl + pSystem.out.println()sout.........
2021-08-06 20:09:57 124
原创 5 HBase命令行接口
HBase命令行接口的使用方法HBase shell进入退出hbase shell #在任意节点都可以进入hbase shellexit查看帮助信息help通用命令查询服务器状态,例如服务器的数量status查询hbase版本version如果有kerberos认证,需要事先使用相应的keytab进行一下认证(使用kinit命令),认证成功之后再使用hbase shell进入可以使用whoami命令可查看当前用户whoamiDDL(Data De
2021-08-06 15:36:21 448
原创 4 HBase搭建
HBase搭建(ubuntu版本)安装包https://pan.baidu.com/s/1wORXDbIgYV_yNrD71HotPg提取码:qrww安装过程建议浏览一遍注意事项,帮助遇到和我一样的相关问题可以节省时间,而不是直接重装系统。虚拟机搭建1、 选择创建虚拟机。(Ubuntu或centOs自行选择,在配置时有细微差异)2、 选择镜像创建虚拟机。3、 使用默认配置进行设置。用户名可以更改,在后面的设置过程中注意文件路径的更改。4、 部分PC可能会出现没有权限的问题。
2021-07-27 14:15:33 503
原创 3 HBase架构
HBase架构这里写目录标题HBase架构架构图架构解析ClientZookeeperHMasterHRegionServerStoreStorefileMemStoreHlog架构图HBase有三个主要组成部分:客户端库,主服务器和区域服务器。区域服务器可以按要求添加或删降架构细解架构解析Client客户端负责发送请求到数据库客户端连接的方式有很多种hbase shell类JDBC发送的请求主要包括DDL:数据库定义语言(表的建立,删除,添加删除列族,控制版本)。DM
2021-07-23 19:48:46 153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人