- 博客(48)
- 资源 (1)
- 收藏
- 关注
原创 Samba服务安装以及小米摄像头同步
如果电脑(windows、mac)能搜索到samba服务并可以连接,说明samba服务器的防火墙组阻止了NBNS流量,导致App上不会出现nas设备。①用户第一次打开NAS存储的设置页,触发摄像机搜索局域网的NAS设备(局域网广播,NBNS协议)③App出现NAS的设备列表,选择一个输入账号密码,选择存储路径,开始文件同步。UDP协议 端口号:137 NetBIOS名字服务 服务名称:nmbd。smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用。②NAS设备在收到广播后,进行响应。
2024-04-01 17:00:30
1773
1
原创 oracle数据库
--创建表空间create tablespace testdbdatafile 'D:\app\oracleData\testdb.dbf'size 100mautoextend onnext 10m;--删除表空间drop tablespace testdb--创建用户create user chenpingidentified by 123456default tablespace testdb--给用户授权--oracle数据库中常用角色connect--连接角色,.
2020-08-02 15:02:57
241
原创 redisTemplate和stringRedisTemplate对比
redisTemplate和stringRedisTemplate对比RedisTemplate使用的是 JdkSerializationRedisSerializer 序列化对象可以用来存储对象,但是要实现Serializable接口。以二进制数组方式存储,内容没有可读性。StringRedisTemplate使用的是 StringRedisSerializer 序列化String主要...
2020-07-04 23:25:59
785
原创 volatile底层实现原理解析
文章目录保证可见性原理不保证原子性的原因防止指令重排三大特性:1.保证可见性 2.不保证原子性 3.防止指令重排保证可见性原理在volatile中是采用锁总线的方式实现可见性,在总线被锁期间其他CPU不可以访问主内存中变量,这种方式效率太低。现在的可见性是由java和CPU共同完成的,利用CPU的缓存一致性来保证可见,原理如下:要想理解可见性原理首先得知道JMM的8个原子操作,如下图所示红色字体首先线程B修改了flag的值,并传递给工作内存工作内存将flag标记为**M(Modify)**状
2020-07-03 16:07:36
941
原创 linux中指定JVM内存运行jar包
云服务器对于个人来说是十分方便发布项目的途径,但是高配的云服务器价格太昂贵。低配的虚拟机内存一般都在2~4g,如果发布的是单体项目还好,如果是比较大的分布式项目会直接报内存溢出错误 ,此时可以通过调整启动时jvm的参数来限制内存使用。#直接启动java -jar -Xms128M -Xmx256M -XX:PermSize=128M -XX:MaxPermSize=256M gmall-search-web-0.0.1-SNAPSHOT.jar #后台启动,日志输出到nohup.out中nohup
2020-06-25 23:51:59
3516
原创 云服务器 ARM架构和X86架构安装jdk踩坑
一般情况华为和腾讯的云服务器都是基于X86架构的,而华为云学生版的centos系统只有ARM架构,所以在安装jdk时需要注意jdk版本。jdk8下载地址查看linux是ARM还是X86架构命令:uname -a这是ARM架构64位这是X86架构64位如图是不同版本的jdk,分别是基于ARM的32位和64位和基于X86平台的32位和64位,请根据linux版本下载jdk...
2020-06-25 17:07:58
5418
原创 Spring中事务的传播模式
PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGATION_MANDATORY:使用当前的事务,如果当前没有事务,就抛出异常。PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事.
2020-06-19 00:27:21
685
原创 Httpclient工具
HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。使用HttpClient请求一个Http请求的步骤为:(1)创建一个HttpClient对象(2)创建一个Request请求对象(3)使用HttpClient来执行Request请求,得到对方的response(4)处理response(5)关闭HttpClientpublic class Httpclient
2020-06-12 15:46:04
193
原创 阿里云Elasticsearch6.0安装
文章目录环境安装1.将Elasticsearch安装包上传到linux上2.解压3.修改配置文件①es默认需要2g内存,如果linux的内存不够就会报如下错误②修改es的ip和端口③此时启动还会报错,Linux默认线程数、最大文件数、最大内存数不够启动与停止环境阿里云服务器 、 centos7、 java1.8注意:阿里云服务器的es如果需要外网访问需要先去控制台开放9200端口,然后再放行防火墙的端口#防火墙开放端口firewall-cmd --zone=public --add-port=9
2020-06-05 16:52:33
723
转载 Cannot assign to read only property ‘exports’ of object ‘#’解决方案
vue运行报错error:Cannot assign to read only property ‘exports’ of object '#'用weex做项目的时候,npm start 之后一直报错error:Cannot assign to read only property ‘exports’ of object ‘#’ ,查了好多资料好像是export和import共用了导致不兼容引起的试了好多方法都不行,最后找到个办法,试了一下可以用,特此记录:npm install babel-plug
2020-05-29 10:03:42
1209
原创 使用SpringCloud搭建分布式项目
简介Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台主要包括3个部分...
2020-05-22 16:00:50
1052
原创 JUC中的常见问题
文章目录Synchronized和Lock锁生产者和消费者的问题Synchronized和Lock锁1.Synchronized 内置java关键字,Lock是一个java类2.Synchronized 无法判断获取锁的状态,Lock可以判断是否获取到了锁3.Synchronized 会自动释放锁,Lock必须手动释放4.Synchronized 一个线程获取锁并被阻塞后,其他线程只能等待,Lock不会一直等待tryLock尝试获取5.Synchronized 可重入锁,不可中断,非公平锁,Lo
2020-05-14 11:53:55
633
原创 多线程中生产者和消费者问题
文章目录管程法信号灯法出现的问题本文中举例的2种写法可以实现同步问题,但会出现虚假唤醒的问题,详细解析和解决方案请看正文管程法/** 管程法* */public class TestGuan { public static void main(String[] args) { SynContainer synContainer = new SynContainer(); new Product(synContainer).start();
2020-05-08 20:48:10
308
原创 多线程的实现方式
文章目录实现方式继承Thread实现Runnable接口通过Callable、ExecutorService、Future创建区别多线程实现下载实现方式继承Threadpublic class ThreadTest extends Thread { @Override public void run() { System.out.println(Thread...
2020-05-07 19:26:58
600
原创 动态代理模式
文章目录静态代理动态代理手动实现日志的动态代理接口实现类代理类测试静态代理代理模式的好处:可以使真实角色的操作更加纯粹,不用再去关注一些公共的事情公共的的业务由代理完成,实现了业务的分工公共业务发生扩展时变的更加集中和方便缺点:当类变多了,代理类随之增加,工作量就变大了,开发效率低动态代理通过反射实现分为2类:基于类的动态代理,基于接口的动态代理基于接口 — JDK...
2020-05-06 14:32:31
626
转载 动态代理调用invoke源码分析
通过上面动态代理的使用,它看似并没有代理类,那么它是什么进入DynamicProxy的invoke方法实现实际委托对象方法的调用呢?下面我们通过源码一步一步解析揭开它什么的面纱:动态代理使用了Proxy.newProxyInstance方法动态创建代理类,我们看下newProxyInstance源码:/**@params loader 用于从动态生成的class字节流中加载创建代理类@p...
2020-05-06 14:26:47
383
原创 HashMap底层实现原理
文章目录底层结构:源码解读如何存储和获取值jdk1.7putgetjdk1.8哈希碰撞扩容机制底层结构:jdk1.7:数组+链表jdk1.8:数组+链表+红黑树数组的查询速度快,链表的修改速度快源码解读默认初始容量为16(1<<4),必须是2的幂如果隐式指定了更高的值,则使用的最大容量,但必须是2的幂并且最大不大于2的30次方默认负载因子为0.75,负载因子=数据实...
2020-05-05 21:39:23
1567
原创 ELK
elasticsearch安装elasticsearch只能由普通用户启动#创建普通用户useradd 用户名#设置密码passwd 用户名#修改文件所属用户权限chown 用户名:用户名 文件夹名 / -R#切换至普通用户su - 用户名给普通用户安装jdk添加如图配置文件,注意在export上面,JAVA_HOME配置pwd出来的路径JAVA_HOME=/hom...
2020-05-04 15:10:49
133
原创 java反射机制
文章目录什么是java反射Class类常用方法什么是java反射Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制(java是静态语言)。反射被视为动态语言的关键。Class类常用方法...
2020-05-03 18:33:39
689
原创 Class类常用方法
文章目录创建一个接口创建一个User类通过反射获取类的相关信息(常用方法)控制台输出的结果创建一个接口public interface Person {}创建一个User类public class User implement Person { public String name; int age; protected String sex; pr...
2020-05-02 19:55:20
892
原创 内置注解、元注解以及如何自定义注解
文章目录三个内置注解@Override 重写@Deprecated 过时@SuppressWarning 抑制警告元注解@Retention 保留期@Documented 文档@Target 目标范围@Inherited 继承自定义注解三个内置注解@Override 重写声明该方法是重写父类的方法,在子类中重写父类或接口的方法,@Overide并不是必须的,但建议加上,可以在变更了代码情况下...
2020-05-02 12:38:04
599
转载 MySQL数据库的索引原理、与慢SQL优化的5大原则
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出...
2020-04-28 16:22:36
161
原创 Swagger更加简单的配置
更加简单的配置依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> &l...
2020-04-27 13:31:33
156
原创 Restful风格
RESTfull :Representational State Transfer 即表现层状态转移RESTful架构风格最初由Roy T. Fielding(HTTP/1.1协议专家组负责人)在其2000年的博士学位论文中提出。HTTP就是该架构风格的一个典型应用。从其诞生之日开始,它就因其可扩展性和简单性受到越来越多的架构师和开发者们的青睐RESTful架构风格的特点1.资源所谓"资源...
2020-04-26 22:30:58
343
原创 SpringBoot集成Swagger
Swagger简介统一前后端接口文档API的工具,世界上最流行的RestFul风格的API文档框架,可以直接测试接口,支持多种语言使用环境:springBoot1.在项目中导入jar包swagger2ui<dependency> <groupId>io.springfox</groupId> <artifactId>sp...
2020-04-26 22:13:15
584
原创 使用swagger生成restful风格的接口文档
项目中如何配置swagger?请点击下方链接SpringBoot集成Swagger导入依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</ver...
2020-04-26 22:11:52
862
原创 RabbitMq安装
环境阿里云服务器:centos7rabbitmq版本:rabbitmq-server-3.8.3-1.el7.noarcherlang版本:erlang-22.3.2-1.el7.x86_64下载相关安装包这是第四步点击后的界面rabbitmq下载对于的虚拟机版本即可这是第五步点击后的界面安装使用Xshell连接阿里云服务器将下载的jar包传到服务器进入安装包所在目...
2020-04-26 01:48:15
678
1
转载 git常用命令
查看所有git命令git helper -a // 查看全部git子命令Git 常用命令1.仓库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]2.配置# 显示当前的Git配置$ git config ...
2020-04-22 23:03:01
91
原创 Native关键字
凡是带了native.关键字的,说明]java的作用范围达不到了,回去调用底层C语言的库!首先会进入本地方法栈,然后调用本地方法接口JNIJNI作用:扩展Java的使用,融合不同的编程语言为ava所用! 最初: C、C++Java诞生的时候C、C++横行,想要立足,必须要有调C、C++的程序它在内存区域中专门开辟了一块标记区域: Native Method Stack,登记nativ...
2020-04-21 21:45:17
149
原创 GC垃圾回收机制
GC区域垃圾回收有两种类型:Minor GC 和 Full GC。Minor GC对新生代进行回收,不会影响到年老代。因为新生代的 Java 对象大多死亡频繁,所以 Minor GC 非常频繁,一般在这里使用速度快、效率高的算法,使垃圾回收能尽快完成。Full GC也叫 Major GC,对整个堆进行回收,包括新生代和老年代。由于Full GC需要对整个堆进行回收,所以比Min...
2020-04-21 21:00:55
1701
1
原创 堆的详解
堆Heap,一个JVM只有一个堆内存,堆的大小是可以调节的。类加载器读取了类文件后一般会将 类,方法,常量,变量放在堆里面堆内存分为3个部分:新生代(伊甸园区)老年代永久代GC垃圾回收机制主要在新生代和老年代在JDK8以后,永久存储区改了一个名字:元空间永久区这个区域 是常驻内存中的,用来存放 JDK自带的Class对象,jdk1.6之前:永久代,常量池在方法区jdk...
2020-04-21 18:13:57
286
原创 JVM中栈的详解
1.什么是栈栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。主管程序运行,生命周期和线程同步,线程结束,栈内存就释放了。不存...
2020-04-21 18:05:49
1198
原创 类加载器、双亲委派机制及沙箱机制详解
3.类加载器类是一个模版是抽象的,对象是实例是具体的作用:加载Class文件例如:一个对象Student的创建过程4.双亲委派机制目的:保证安全类加载器种类:1.虚拟机自带加载器2.启动类加载器 (Bootstrap classLoader):主要负责加载核心的类库(java.lang.*等),构造ExtClassLoader和APPClassLoader3.扩展类加载器 (...
2020-04-20 11:36:09
1052
原创 创建Vue工程
注意:命令行要使用管理员模式运行1.创建一个名字为 hello-vue 的工程vue init webpack hello-vue2.安装依赖,需要vue-router、element-ui、sass-loader、hello-vue#进入工程目录cd hello-vue#安装element-uinpm install vue-router --save-dev#安装ele...
2020-04-13 22:21:04
602
原创 @RestController等常见注解
常见注解@Controlle注解是可以返回指定页面的,经过视图解析器处理后是可以跳转到指定页面,配合视图解析器InternalResourceViewResolver。@RestController是@Controller+@ResponstBody的组合注解,即返回的是String、Object、Json等实体对象,使用该注解无需再将对象转换为json发送到前端,@ResponstBody会...
2020-04-13 22:11:52
3863
1
原创 IDEA快速生成文档注释的方法
1.在 file > setting 中搜索 live Templates然后点击右边的加号,点击第二个创建一个模板组,取一个名字创建完组后再点第一个生成模板配置出来如下界面,自定义一个快捷键,然后点击define根据需求选择,如果是为java类和方法生成文档注释就选择java接下来就是自定义生成的内容,将下面内容复制到Template text中***@ClassNa...
2020-04-13 16:38:46
11066
2
原创 SpringBoot配置热部署
1.添加依赖<!--热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</op...
2020-04-13 12:26:28
173
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人