- 博客(114)
- 资源 (15)
- 收藏
- 关注
原创 Java技术栈总结:多线程篇
程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO的。当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给CPU执行一个进程之内可以分为一到多个线程。【对比】进程是正在运行程序的实例,进程中包含了线程,每个线程执行不同的任务;
2024-07-15 01:04:59 821
原创 Java技术栈总结:容器集合篇
数组是一种用连续的内存空间存储相同数据类型数据的线性数据结构。Q:为什么数组索引下标从0开始?A:从0开始,对应寻址公式:a[i] = baseAddress + i * dataTypeSize;如果从1开始,则变为:a[i] = baseAddress + (i-1)* dataTypeSize;需要增加一次减法操作,对于CPU来说就多了一次指令,性能不高。
2024-07-12 00:32:18 1006
原创 Java技术栈总结:JVM虚拟机篇
通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到JVM外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。启动类加载器(BootStrap Class Loader):负责加载目录下的所有jar包,或者是参数指定的路径;扩展类加载器(Extension Class Loader):负责加载%JAVA_HOME%\bin\ext目录下的所有jar包,或者是java.ext.dirs参数指定的路径;应用程序类加载器。
2024-07-10 01:31:20 840
原创 Java技术栈总结:kafka篇
如果集群发现超过10s没有续约的消费者,会将其踢出消费者,触发消费组的reblance机制,将该分区的交给消费组里的其他消费者进行消费。随着积压消息的增多,消费者的寻址性能会下降,最终导致整个kafka对外提供服务的性能很差,从而造成其他服务访问速度变慢,造成服务雪崩。总结:集群中有多个broker,创建主题是可以指明主题有多个分区,可以为分区创建多个副本,不同的副本存放在不同的broker里。如果生产者发送消息没有收到ack,生产者会阻塞,阻塞到3s的时间,如果还没有收到消息,会进行重试。
2024-07-06 21:16:43 1065
原创 Java技术栈总结:Redis篇
Redis 自身是一个 Map,其中的所有数据均采用“key:value”的形式存储。数据类型指的是存储的数据的类型,即 value 部分的类型,key 的部分只能是字符串。value 部分的数据类型:
2024-07-04 01:05:52 1072 1
原创 Java技术栈总结:Spring框架篇
注:BeanDefinition方法为“标签、@Bean注解、@Component注解”的底层实现。(1)标签。Spring容器实例化时,会将XML配置的信息封装成一个BeanDefinition对象Spring根据BeanDefinition对象创建Bean对象。
2024-07-03 01:15:14 889
转载 LocalDateTime、LocalDate、Date的相互转换及判断是否为今天
LocalDateTime 及 LocalDate 是 Java8 的新特性,有时为了兼容 Date 类型需要进行转换。
2023-08-25 20:10:07 1902
原创 Java 常用知识点整理
面向对象的特征:抽象、封装、继承、多态。 修饰符的可见范围:private(当前类)->default(同一个包内)->protected(同一个包内所有类 +不同包子类)-> public(整个项目); 基本数据类型:byte、short、int、long、float、double、char、boolean;其他皆为引用类型。 保留字(Java中未用到):goto、const; 内存的栈(stack)、堆(heap)、方法区(metho...
2022-04-10 22:25:10 1211 1
转载 IDEA报错:File size exceeds configured limit
原文地址:https://my.oschina.net/shipley/blog/510762这两天尝试使用 IDEA, 发现一个问题File size exceeds configured limit (2560000). Code insight features not available.原因:IDEA对能关联的文件大小做了限制,主要是为了保护内存,默认值为2500kb,对于一般的java文件也够用了,只是这里我用protocbuf生成的java文件过大,达到3M多。...
2020-12-16 20:53:24 708
转载 JDK安装与环境变量配置
目录下载JDK安装JDK配置环境变量测试JDK是否安装成功环境变量详解JAVA_HOMEPathCLASSPATHCLASSPATH详解下载JDK到Oracle官网下载JDK安装JDK安装JDK时,除了修改安装目录,其他的一路【下一步】,傻瓜式安装。注:当提示安装JRE时,可以选择不要安装。因为JDK已经自带了JRE。安装JDK配置环境变量单击"计算机-属性-高级系统设置",单击"环境变量"。 新建->变量名"J.
2020-10-21 00:35:39 119774 21
原创 GitHub使用学习记录
一、注册gitHub账号https://github.com/二、下载安装git下载 git OSX 版 下载 git Windows 版 下载 git Linux 版三、创建代码仓库点击头像,选择“Your respositories”--“New”创建一个新的远程代码仓库:远程仓库的名称自己定一个即可,描述信息随意,最好是和项目相关的描述信息。待更新。。。...
2020-10-18 00:11:15 266
原创 git常用命令总结
git clone 将远程分支(master)代码拉到本地; git checkout 切分支; git checkout -b <分支名> 新建分支并切换到新建的分支; git branch 分支管理; git branch <分支名> 新建分支; git branch -d <分支名> 删除分支,使用“-D”强制删除; git branch -v 查看每一个分支的最后一次提交; git branch -vv 查看本地分支与远程分支的关联...
2020-10-17 23:20:16 180
原创 Celery关闭执行中的任务策略
问题描述:设计的系统中需要执行一个长时间的运行的任务,这个任务可以比作是“开启机器后,机器的运行”。现在需要对机器的停止可控,于是需要研究Celery中关闭执行中的任务方法。首先,参考文章《celery 停止执行中 task》,这篇文章中提出“celery 管理工具flower里面好像有停止celery task的功能”,于是开启Celery的flower发现,确实可通过“flower”进行控...
2020-03-08 22:56:17 8024 1
原创 Win10使用自带工具屏幕录制
1、按下win+G打开录制界面;2、点击“广播与捕获”中间的原点开始录制3、录制过程开始录制后,点击屏幕任意处继续执行自己之前的操作点击蓝色按钮停止录制4、打开之前的录制文件再次按下win+G,在广播与捕获中点击“显示全部捕获”可以对应找到录制的内容...
2020-02-23 11:08:59 2017
原创 Django学习问题记录
主要根据Django教程_w3cschool进行的学习,记录遇到的一些问题注:Django版本:1.11.261、使用Post方法提交表单,遇到导入包“csrf”错误解决:参考from django.core.context_processors import crsf报错,将导入的路径修改为from django.template.context_processors ...
2020-01-17 17:20:36 239
转载 Python实现字典排序、按照list中字典的某个key排序的方法示例
这篇文章主要介绍了Python实现字典排序、按照list中字典的某个key排序的方法,涉及Python字典与列表排序相关操作技巧,需要的朋友可以参考下本文实例讲述了Python实现字典排序、按照list中字典的某个key排序的方法。分享给大家供大家参考,具体如下:1.给字典按照value按照从大到小排序排序 1 2 3 dict = {'...
2019-12-19 21:55:15 1795
转载 Python之psutil,查看CPU、内存、网络等使用情况
CPU>>> import psutil>>>>>> psutil.cpu_times()scputimes(user=3961.46, nice=169.729, system=2150.659, idle=16900.540, iowait=629.59, irq=0.0, softirq=19.42, steal=0.0, g...
2019-12-19 20:15:38 3497
原创 使用PyCharm为Python函数及参数添加注释
最近更新了pycharm后,直接在函数下使用英文三连引号➕回车的方法不自动生成注释了,于是只得采用如下方法:1、鼠标选中函数名,右键,选择“ShowContextActions”2、弹出菜单选择“InsertdocumentationStringstub”,参数注释栏即自动生成3、在对应的位置添加描述即可...
2019-12-19 15:45:34 6513 1
原创 python2.7安装pycurl
直接使用 pip install pycurl报错:Please specify --curl-dir=/path/to/built/libcurl ----------------------------------------ERROR: Command errored out with exit status 10: python setup.py egg_info Che...
2019-12-18 22:52:39 2346
原创 Celery分布式实践
Celery3.1.7文档:http://docs.jinkan.org/docs/celery/index.html;Celery4.4.0文档:http://docs.celeryproject.org/en/master/index.html基本的Celery执行任务分发实现在我的另一篇博文“Celery学习记录”已有描述,这里不再赘述。一、基本文件的创建与配置这里配置在...
2019-12-05 22:35:55 673 1
原创 Django创建项目记录
我用的python版本为2.7,django版本为1.11。参考教程:W3Cschool Django教程;菜鸟教程一、创建django项目这里我使用Pycharm中File--NewProject--Django的方法创建。同样,你也可以在命令行使用“django-admin startproject项目名”的方式进行创建。在Pycharm中选择创建项目的位置及使用的编译器(环境...
2019-11-18 15:48:23 289
原创 Pycharm连接远程服务器实现代码同步
一、打开pycharm,创建一个项目二、在远程服务器中创建一个文件夹此处我们的远程服务器为centos7系统,此处我在服务器的home目录下创建一个文件夹。三、设置pycharm,建立连接依次选择Tools——Deployment——Configuration打开配置界面。如上图,配置服务器地址、用户名及密码等参数建立连接。四、同步文件在本地项目中,进...
2019-11-12 10:24:19 2284 2
原创 Celery学习记录
用到的python包:celery--3.1.25;django--1.11.26;python2.7.15;reids--2.10.6;redis:4.0.11 (后来换的)一、celery文档首先,附上官方文档连接https://docs.celeryproject.org/en/latest/celery3.1.7文档:http://docs.jinkan.org/doc...
2019-11-08 21:06:34 1665
原创 centos7安装后无法使用ifconfig且无法使用yum安装包问题
一、首先解决无法使用yum安装包的问题此部分引用地址:安装CentOS7文字界面版后,无法联网,用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法*无法联网的明显表现会有: 1、yum install出现 Error: cannot find a valid baseurl or repo:base...
2019-11-08 16:02:24 759
转载 CentOS 7 安装 pip正确方式(解决pip: command not found问题)
SSH下:yum install epel-releaseyum install -y python-pipvia:http://sharadchhetri.com/2014/05/30/install-pip-centos-rhel-ubuntu-debian/
2019-11-08 10:28:01 12383
原创 关于Python2.7推特节点的一些问题说明
""" Constants For All Twitter Endpoints ----------------------------------- Version 1.1, Streaming API and REST API. URLs for each endpoint are composed of the following pieces:...
2019-11-05 17:29:14 1342
原创 Java通过设置别名跳出外层(指定某层)循环
一、默认跳出break所在的循环public class JumpCycle { public static void main(String[] args) { for(int i=0; i<10; i++) { for(int j=0; j<5; j++) { if(j==3) { break; } System.out.pri...
2019-10-21 16:31:50 629 1
原创 根据Map的value对key进行排序的一种方法尝试(Java)
前言:之前每次需要对HashMap的key进行排序,往往是将value全部取出存入一个数组,先进行一次对value的排序;然后再进行从map中按照排序好的value取出key。若还需要对value相同的key进行排序,就需要一个中间list存入value相同的key,按照key的“其他规则”排好之后,再向最终的结果数组中存。这种方法需要写大量的代码,工作量较大。于是,尝试通过比较器来实现对Map...
2019-09-23 21:57:48 378
转载 TCP三次握手与四次挥手(详细)
TCP报文首部源端口和目的端口,各占2个字节,分别写入源端口和目的端口; 序号,占4个字节,TCP连接中传送的字节流中的每个字节都按顺序编号。例如,一段报文的序号字段值是 301 ,而携带的数据共有100字段,显然下一个报文段(如果还有的话)的数据序号应该从401开始; 确认号,占4个字节,是期望收到对方下一个报文的第一个数据字节的序号。例如,B收到了A发送过来的报文,其序列号字段是50...
2019-09-10 09:57:34 691
原创 树的遍历(中、后、先、层)
“X序遍历”,其中的“X”指的是当前的节点被执行的次序。例如,中序遍历,当前节点是在左右子树中间执行;后续遍历,是在左右子树执行之后执行。1、中序遍历首先处理左子树,然后是当前节点,最后是处理右子树。运行时间为O(N)。示例代码:按照中序打印二叉树的元素值 public void printTree() { if(isEmpty()) { System.out...
2019-09-05 16:06:45 350
原创 虚拟机无法连接虚拟设备sata0:1
以下仅作为自己的一个尝试设置,验证对自己的虚拟机问题有效。在设置里面修改CD/DVD(SATA),改为使用ISO影像文件。改完后虚拟机开机黑屏的问题也解决了。同时我虚拟机设置硬件设备中删除了打印机。这个主要是因为虚拟机每次开启的时候总是消息提醒找不到打印机之类的。...
2019-09-01 10:20:28 26018 12
原创 MySQL(四)多表操作
一、外键 FOREIGN KEY外键是值引用另一个表的一列或者多列,被引用的列应该具有主键约束或者唯一性约束。被引用的表是主表;引用外键的表是从表。两者是主从关系。从表可以通过外键连接主表中的信息,从而建立两个表之间的联系。1、为表添加外键约束 ADDALTER TABLE 表名 ADD CONSTRAINT 外键别名 FOREIGN KEY(外键字段名) REFERENCES...
2019-08-27 11:08:01 574
原创 简单工厂模式(Java)
1、定义一个接口或者一个抽象类package factoryPattern;/** * 定义一个抽象类,作为各种“交通工具”的父类 * 抽象类中的抽象方法必须被子类覆写 * @author Janebook * */public abstract class Vehicle { public abstract String getName();}2、定义父类或者父接...
2019-08-26 17:29:00 178
原创 MySQL(三)单表查询
一、简单查询1、SELECT 语句总述SELECT [DISTINCT] *|字段名1,字段名2,字段名3...FROM 表名 // 指定查询的表[WHERE 条件表达式1] // 指定查询条件[GROUP BY 字段名[HAVING 条件表达式2]] // GROUP BY 将查询结果按照指定...
2019-08-22 11:30:29 373
原创 MySQL(二)添加、更新、删除数据
一、添加数据 INSERT INTO1、为表中所有字段添加数据1.1 INSERT 语句中指定所有字段名 INTO VALUES此方法必须列出表中的所有字段的名称,对应值的顺序、类型需与列出字段名称的顺序保持一致INSERT INTO 表名(字段名1, 字段名2, ...) VALUES(值1, 值2, ...);1.2 INSERT 语句中不指定字段名此方法添加值的顺序...
2019-08-20 14:53:09 305
转载 java中char类型转换成int类型的两种方法(转载·有改动)
方法一:通过 Integer.parseInt(str) 方法;char ch = '9';if (Character.isDigit(ch)){ // 判断是否是数字 int num = Integer.parseInt(String.valueOf(ch)); // 此处 parseInt 接收一个string作为参数 System.out.println(n...
2019-08-20 09:12:07 1921
转载 Java四种引用类型
引用与对象每种编程语言都有自己操作内存中元素的方式,例如在 C 和 C++ 里是通过指针,而在 Java 中则是通过“引用”。在 Java 中一切都被视为了对象,但是我们操作的标识符实际上是对象的一个引用(reference)。//创建一个引用,引用可以独立存在,并不一定需要与一个对象关联String s;通过将这个叫“引用”的标识符指向某个对象,之后便可以通过这个引用来实现操作...
2019-08-19 16:47:03 136
转载 Java垃圾回收机制(转载·有改动)
说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚拟机中,有哪些...
2019-08-19 16:15:13 173
Java设计模式及实践-机械工业出版社.zip(代码)
2019-07-27
MySQL数据库入门(光盘)Lesson 08.rar
2019-06-15
MySQL数据库入门(光盘)Lesson 07.rar
2019-06-15
MySQL数据库入门(光盘)Lesson 06.rar
2019-06-15
MySQL数据库入门(光盘)Lesson 05.rar
2019-06-15
MySQL数据库入门(光盘)Lesson 04.rar
2019-06-15
MySQL数据库入门(光盘)Lesson 03.rar
2019-06-15
MySQL数据库入门(光盘)Lesson 02.rar
2019-06-15
MySQL数据库入门(光盘)Lesson 01.rar
2019-06-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人