Java持续实践

持续学习 持续实践 持续输出

  • 博客(541)
  • 资源 (6)
  • 论坛 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 React定义类式组件

React定义类式组件 代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>2_类式组件</title></head><body> <!-- 准备好一个“容器” --> <div id="test"></div> <!-- 引入react核心库 -->

2021-01-10 16:50:08 37

原创 React 定义函数式组件

react定义函数式组件的代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>1_函数式组件</title></head><body> <!-- 准备好一个“容器” --> <div id="test"></div> <!-- 引入react核心库 --&g

2021-01-10 16:22:32 47

原创 JSX语法规则

jsx语法规则:1.定义虚拟DOM时,不要写引号。2.标签中混入JS表达式时要用{}。3.样式的类名指定不要用class,要用className。4.内联样式,要用style={{key:value}}的形式去写。5.只有一个根标签6.标签必须闭合7.标签首字母(1).若小写字母开头,则将该标签转为html中同名元素,若html中无该标签对应的同名元素,则报错。(2).若大写字母开头,react就去渲染对应的组件,若组件没有定义,则报错。...

2021-01-10 16:18:54 23

原创 git 回退代码到指定版本

git checkout 7e0b0018b10955d8ea805ff614eb33c4cf440be5 my.java7e0b0018b10955d8ea805ff614eb33c4cf440be5 是要回退的版本的git idmy.java 是要回退的文件 先进入到该文件的目录执行上面的命令

2020-12-16 11:07:18 67

转载 mac配置maven的jdk

https://www.cnblogs.com/chushujin/p/10991043.htmlvim ~/.bash_profile查看mac jdk的路径maven homeexport MAVEN_HOME=/usr/local/Cellar/maven/3.6.3_1/libexecexport PATH=$PATH:$MAVEN_HOME/binexport JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk

2020-12-16 10:33:40 63

原创 20201203某互联网公司面试题 每天看一遍多 知道自己有多菜

消息队列用的什么协议系统的预警消息有做去重吗 , 万一重复了怎么办Mq这个中间件是你们自己部署的, 还是一个集中的中间件平台?MQ 有做高可用吗定时任务是用于什么业务, 用的什么框架?系统里面有没有遇到什么难点, 能分享一下吗. ( 与第三方的沟通对接不算是难点. )说一下你了解的Jdk8的新的特性说一下violate 关键字的作用? 怎么样保证可见性的? 是怎么保证禁止指令重排的? 是怎么实现禁止指令重排的? 指令重排的具体的例子能不能说个导致线程安全的例子? 什么时.

2020-12-13 12:05:07 2398 8

原创 2020 某大型公司面试题

表设计问题 :假如我现在要做一个项目管理系统, 一个团队有很多人在做项目, 一个管理者想看到项目的进展, 项目经理可以在这个系统上建立项目, 项目的开始时间, 结束时间, 有哪些任务完成了, 哪些还在开发中, 每个项目下可能会有很多子项目, 我这个项目也可能分享给别人, 希望别人能看到我项目的进展 , 别人也可以对我的项目进行增删改查, 作为团队的管理者 , 可以看到所有的项目.如果让你做这个项目管理系统, 你会如何做表结构设计, 这些表是怎么关联的?系统里..

2020-12-13 11:40:33 4143 7

原创 2020某上市公司面试题

定时任务, 执行多个任务, 假如说某一个任务执行的时间特别长, 造成了系统的阻塞 , 这个情况你要怎么处理?分布式锁一般有什么实现方式?定时任务用的什么框架, Quartz 定时执行, 你是如何配置的, 如何启动任务的 ,详细讲一下Java的基础知识有去研究吗, 比如说JDK的源码有看过吗?说一下Map接口常见的实现类有哪些? 他们之间的区别是什么?SpringBoot的@Bean注解和 @Service @Controller 注解的区别是什么?...

2020-12-12 22:22:08 2076 10

原创 2020某上市公司面试题,每天看一遍,提醒自己有多菜

接口的幂等性除了数据库层用唯一索引这种方式, 还有没有其他的方式去保证接口的幂等性.接口的幂等性如果是用缓存的方式去做, 那么第二次请求来了, 是直接返回订单号还是抛出异常?为了客户更好的体验 , 能不能在客户由于网络抖动的原因发送第二次请求的时候, 把第一次请求的订单号返回过去.用户发送的两次请求, 两次请求的间隔是毫秒级的, 第一次请求还没有入库, 那么如何把第二次请求直接返回第一次请求的订单号 ?如果是从缓存中去拿, 那怎么去实现, 思路是什么 ? 一开始傻屌的回答说用map去存储,结果.

2020-11-25 00:02:38 4948 20

原创 2020某医药行业公司面试题

项目做了哪些模块开发的流程是怎么样的开发要输出什么东西, 有出一些文档什么的吗介绍一下项目中使用的dubbo是什么?dubbo有哪些轮询机制?项目中是什么地方用到的RedisRedis 有哪些数据类型Redis 持久化有哪些机制项目中并发问题是怎么处理的?多个服务之间的并发该怎么处理 ?分布式锁有哪些方式可以实现?mq有哪几种消息类型?mysql数据库,报表的数据量很大, 有哪些优化的方式?es存储的数据量有多少?hashmap是有序方式无序的?是什么数据结构SpringBo.

2020-11-24 22:04:20 2159 3

原创 尚硅谷2020 SpringCloud第二季代码地址

https://github.com/zzyybs/atguigu_spirngcloud2020

2020-10-11 13:00:23 337

原创 谷粒商城59-商品服务-API-品牌管理-JSR303数据校验

文章目录品牌名称后端参数校验示例品牌其他参数校验品牌名称后端参数校验示例validation-api-2.0.1.Final.jar包中 ,提供了如下的注解, 用于参数的校验例如有如下的注解@NotNull The annotated element must not be null. Accepts any type. 用于校验不能为null@NotEmpty The annotated element must not be null nor empty. Supported types

2020-10-04 16:09:49 212

原创 谷粒商城58-商品服务-API-品牌管理-表单校验&自定义校验器

文章目录显示状态的修改与图片显示自定义表单校验页面测试显示状态的修改与图片显示显示状态, 由默认的true false 改成 1 和 0 去表示.新增一个品牌, 看到logo是很长的地址 ,而不是图片 ,需要进行修改.参考element的图片功能在brand.vue文件中进行修改如下<template slot-scope="scope"> <img :src="scope.row.logo" style="width: 100px; height: 80

2020-10-02 22:59:30 122

原创 谷粒商城57-商品服务-API-品牌管理-OSS前后端联调测试上传

文章目录文件上传的前端组件文件上传的品牌页面文件上传的前端组件将课程配套的资料, 代码文件夹中有文件上传组件的代码如下图复制到前端项目的 components文件夹下打开文件 , 可以看到 主要是用的ElementUI的el-upload标签复制阿里云控制台中, 外网访问的地址复制到如下的action中确认获取签名的请求是否正确文件上传的品牌页面在品牌管理的brand-add-or-update.vue文件中, 进行如下的修改引入文件上传的组件, 如下图import S

2020-10-02 15:39:12 155

原创 谷粒商城56-商品服务-API-品牌管理-OSS获取服务端签名

文章目录创建第三方的模块创建第三方的模块由于之后可能要调用很多的第三方服务, 因此直接创建一个模块专门用于第三方服务的调用勾选上 远程调用的功能 . 注册中心和配置中心的依赖 , 直接用common的...

2020-10-01 22:51:26 134 1

原创 谷粒商城55-商品服务-API-品牌管理-OSS整合测试 Spring Cloud Alibaba-OSS

文章目录安装sdk简单文件上传的代码测试Spring Cloud Alibaba-OSS安装sdk在对象存储的首页中, 找到文档的链接在文档中心打开Java sdk的安装https://help.aliyun.com/document_detail/32009.html?spm=a2c4g.11186623.6.904.cd5758d55CFtJ7复制如下的依赖<dependency> <groupId>com.aliyun.oss</groupI

2020-09-29 16:50:58 693 2

原创 谷粒商城54-商品服务-API-品牌管理-云存储开通与使用

文章目录分布式文件存储介绍开通阿里云对象存储创建存储空间文件上传的交互逻辑分布式文件存储介绍在传统的单机模式开发中, 文件只需存储在服务的服务器中即可.但如果是集群环境, 可能把文件上传到了一台机器中, 下次请求调用的另外一台机器. 那么就会导致找不到文件了.因此解决办法是, 把文件服务作为一个单独的服务. 此单独的文件服务, 可以是自己搭建的fastdfs等, 但是此种方式一开始的搭建比较复杂, 需要一台单独的服务器等.因此使用第三方的文件存储就比较合适, 例如阿里云对象存储, 七牛云存储等.

2020-09-29 15:59:07 102

原创 20200924 某上市公司Java面试题

项目的框架是你搭建的么 ? 对系统整体的框架有了解过么? 画一下系统的框架图.系统的生产环境是怎么部署的?数据库的量级有多少? 有没有涉及到分库分表? 有了解分库分表的技术吗?假如你的系统要进行分库或者分表的操作了, 但是系统不能停止运行, 那么你该如何处理?SpringCloud 你用到哪些组件? 注册中心除了用eureka和nacos外, 还有其他的吗? consul 作为注册中心,它的优化点在哪里?当集群中有很多服务, eureka接受的并发压力很大时 ,它是如何来处理的?ZooK

2020-09-25 14:07:53 177

原创 Java多线程 面试题 线程执行yield后进入什么状态?

面试被问到这个问题, 但其实之前的文章有写.https://blog.csdn.net/qq_33229669/article/details/108306727线程执行yield方法后, 依然还是runnable即使刚刚放弃了执行的权利, 也可能下一次就被调度回来了.yield和sleep的区别: 是否随时可能再次被调度. sleep期间, 它是已经被阻塞了, 不会把它再调度起来. 但是yield是暂时把调度权让给其他线程, 下次也可能会被调度到.再次复习一下线程的状态图:...

2020-09-22 19:24:27 542 1

原创 Redis 集群的核心算法--一致性hash算法

讲解分布式数据存储的核心算法,数据分布的算法hash算法 -> 一致性hash算法(memcached) -> redis cluster,hash slot算法用不同的算法,就决定了在多个master节点的时候,数据如何分布到这些节点上去,解决这个问题1、redis cluster介绍redis cluster(1)自动将数据进行分片,每个master上放一部分数据(2)提供内置的高可用支持,部分master不可用时,还是可以继续工作的在redis cluster架构下,每个re

2020-09-20 18:53:09 698 2

原创 Redis 集群的两种方式以及适用场景

Redis 集群的两种方式redis clusterreplication + sentinal适用场景如果你的数据量很少,主要是承载高并发高性能的场景,比如你的缓存一般就几个G,单机足够了replication,一个mater,多个slave,要几个slave跟你的要求的读吞吐量有关系,然后自己搭建一个sentinal集群,去保证redis主从架构的高可用性,就可以了redis cluster,主要是针对海量数据+高并发+高可用的场景,海量数据,如果你的数据量很大,那么建议就用re

2020-09-20 17:12:52 1095 1

原创 关于Redis与zk的分布式锁

一般实现分布式锁都有哪些方式 ?使用Redis如何实现分布式锁https://javaweixin6.blog.csdn.net/article/details/108693123使用zk如何实现分布式锁 ?zk 实现分布式锁大致思路:某个节点创建临时的znode, 此时如果创建成功了就获得了这个锁, 别的客户端来创建锁就会失败, 该客户端就会注册一个监听器来监听这把锁.当持有这个锁的客户端释放锁的时候, 即删除znode , 会通知监听的客户端, 监听器等待的客户端就会去给它加上锁.这

2020-09-20 16:59:44 102

原创 Redis实现分布式锁原理

Redis 实现分布式锁实际上是通过setnx 命令, 如果有该key值, 则设置失败, 没有该key, 设置成功.但是由于setnx 命令没有过期时间的, 需要额外对key设置过期时间, 但是这个是两步操作, 不能保证其原子性.如下的图中, 就是保证了原子性, 并且能够达到与setnx一致的效果.set key value 传入ex是秒, px 是毫秒 NX 是键不存在时 ,才能设置, 否则返回nil,XX 是键存在时, 才能进行操作, 否则返回nil例如如下 使用 set key val

2020-09-20 14:53:59 118

原创 Redis五种数据结构演示

文章目录StringhashlistsetsortedsetStringsetex key 过期时间(单位秒) 值例如上图setex c 100 c设置key为c的值为c , 过期时间为100spsetex key 过期时间(单位毫秒) 值psetex d 10000 d10000毫秒为10s获取字符串的范围getrangegetset 重要!!!设置值的时候, 能获取旧的值.例如下面设置key为a的值为aa . 获得了旧的值为amset mget 一次性设置

2020-09-20 11:48:06 81

原创 面试必问 Spring的事物传播机制&隔离级别

文章目录Spring的事务抽象接口Spring的事物传播机制Spring的事物隔离级别Spring的事务抽象接口Spring的事物传播机制根据Sring的源码org.springframework.transaction.TransactionDefinition类中定义了传播机制Spring的事务传播机制 :两个Service业务, 其中ServiceA要调用ServiceB的某一个方法, 这个Service的方法都是在事务中执行的, 此时就涉及到事务的传播了.PROPAGATION_R

2020-09-16 09:01:10 192

原创 Java多线程 关于死锁的面试问题

文章目录关于死锁的面试问题关于死锁的面试问题写一个必然死锁的例子,生产中什么场景下会发生死锁?可以参考如下的文章, 必然死锁的例子.https://javaweixin6.blog.csdn.net/article/details/108460550什么场景容易发生死锁:最明显的就是一个方法中获取多个锁,或者在一个方法中获得了锁, 此时再去调用其他的方法, 其他的方法又获得锁了, 这样也可能造成死锁.实际业务中, 库存的增减, 金钱的转移是有可能会发生死锁的.发生死锁必须满足哪些条件?htt

2020-09-13 11:47:22 816 1

原创 Java多线程 线程活跃性问题之--饥饿

文章目录线程活跃性问题之--饥饿线程活跃性问题之–饥饿当线程需要某些资源(通常是CPU资源) , 但却始终获得不到.造成饥饿的情况:线程的优先级设置得过低有某个线程持有锁, 同时又无限循环而不释放锁某程序始终占用某文件的写锁对应的解决办法程序中不要设置优先级程序中不要有不释放锁的逻辑错误线程饥饿的影响:造成系统的响应性变差.例如前端浏览器某个线程处理打开图片,播放视频等操作,此时后台线程负责图片,视频的IO操作等,如果后台线程把CPU资源全部占用了, 那么前台线程始终得不

2020-09-13 11:32:21 150

原创 Java多线程 活锁

文章目录活性故障活锁 (Livelock)工程中的活锁实例: 消息队列活性故障死锁是最常见的活跃性问题, 除了死锁外, 还有类似的问题导致程序无法顺利的执行, 统称为活跃性问题. 例如 活锁 (Livelock) 饥饿活锁 (Livelock)什么是活锁活锁具有两个特点,第一个是线程没有阻塞, 始终在运行中(所以叫活锁, 线程是活的, 运行中的. )第二个特点: 程序却得不到进展, 因为线程始终重复同样的无效事情.如下图 , 两个绅士弯腰, 如果是死锁, 那么就是两个人始终一动不动, 直

2020-09-13 11:21:36 158

原创 Java多线程 开发中避免死锁的八种方法

文章目录1. 设置超时时间2. 多使用JUC包提供的并发类,而不是自己设计锁3. 尽量降低锁的使用粒度4. 尽量使用同步方法 而不是同步代码块5. 给线程起有意义的名字6. 避免锁的嵌套7. 分配锁资源之前先看能不能收回来资源8 . 专锁专用1. 设置超时时间使用JUC包中的Lock接口提供的tryLock方法.该方法在获取锁的时候, 可以设置超时时间, 如果超过了这个时间还没拿到这把锁, 那么就可以做其他的事情, 而不是像synchronized如果没有拿到锁会一直等待下去.boolean

2020-09-12 18:42:39 1336 2

原创 Java多线程 死锁的检测与恢复策略

文章目录检测与恢复策略死锁的修复策略总结检测与恢复策略检测与恢复策略: 一段时间检测是否有死锁, 如果有剥夺某一个资源 ,打开死锁.死锁的检测算法 :允许发生死锁.每次调用锁的时候 , 都做记录,用图的数据结构来记录.根据有向图的方向, 定期检查 "锁的调用链路"中是否存在环路.一旦发生死锁, 用死锁恢复机制进行恢复.恢复方法1 : 进程终止逐个的终止线程, 直到死锁消除为止.终止的顺序根据优先级终止, 看是前台的交互更加的重要, 还是后台的处理更重要根据已经占用的资源和 还

2020-09-12 17:11:02 103

原创 Java多线程 哲学家就餐死锁问题四种解决方案

文章目录哲学家就餐死锁问题四种解决方案服务员检查 (避免策略)改变一个哲学家拿筷子的顺序 (避免策略 代码演示)餐票 (避免策略)领导调节策略 (检测与恢复策略)哲学家就餐死锁问题四种解决方案此文中演示了哲学家就餐问题的死锁代码demo . 下面提供四种解决方案https://javaweixin6.blog.csdn.net/article/details/108541931服务员检查 (避免策略)在哲学家去拿筷子的时候, 由服务员去判断是否会造成五个人都拿着左边筷子的情况, 如果会, 那么服务

2020-09-12 16:51:17 281

原创 Java多线程 哲学家就餐死锁问题代码演示

文章目录哲学家就餐问题哲学家就餐问题哲学家就餐问题 如下图所示. 哲学家就餐的餐位上, 左手边和右手边分别只有一只筷子.如果要就餐, 就必须拿到左手边和右手边的筷子.流程如下:先拿起左手的筷子再拿起右手的筷子如果筷子被人使用了, 那就等别人用完吃完后, 把筷子放回原位哲学家就餐流程的伪代码如下:就餐问题的死锁风险 :如果某个时刻, 每个哲学家都拿着左手边的筷子, 那么就会永远等待右手边的筷子,...

2020-09-12 16:28:35 230

原创 mybatis 数字查询 只需判断null 不用判断‘‘

<if test="parm.state != null"> <![CDATA[ and mr.state = #{parm.state} ]]> </if>

2020-09-11 21:05:00 137

原创 Java多线程 修复死锁的三个策略&& 避免策略代码演示

文章目录死锁的特点与修复策略避免策略代码演示死锁的特点与修复策略死锁的特点:不可提前预料蔓延速度快危害非常大发生死锁后, 要保存案发现场, 可以用java相关的命令, 把整个堆栈信息保存下来, 立刻修复线上服务.利用保存的堆栈信息, 排查死锁, 修改代码. 重新发版.修复死锁的三个策略 :避免策略 : 哲学家就餐的换手方案, 转账换序方案检测与恢复策略: 一段时间检测是否有死锁, 如果有就剥夺某一个资源, 来打开死锁鸵鸟策略: 比喻鸵鸟遇到危险把头埋地上而看不到危险, 逃避心理

2020-09-11 21:00:03 307

原创 Java多线程 定位死锁--ThreadMXBean

文章目录定位死锁--ThreadMXBean定位死锁–ThreadMXBean使用ThreadMXBean 可以检测程序中出现死锁的线程, 获取该线程的相关信息. 做一些对应的操作.相比较于jstack 在命令中查看. 此种写代码的方式, 能够在线程出现死锁的时候, 做一些对应的操作.示例代码如下 :package com.thread.deadlock;import java.lang.management.ManagementFactory;import java.lang.manag

2020-09-11 20:19:23 121

原创 Java多线程 定位死锁--jstack

文章目录jstack定位死锁两个线程死锁分析多个线程死锁分析jstack定位死锁死锁发生的时候, 控制台什么也不打印, 无法进行排查. 这个时候就需要借助工具来进行定位死锁了.工具之一就是jdk自带的命令jstack在jdk的bin 目录中,可以看到是有jstack.exe这个应用程序的,配置好了jdk的环境变量后,那么就可以直接用jstack来分析死锁了.两个线程死锁分析首先分析两个线程死锁的情况运行之前的章节中, 两个线程必然发生死锁的代码demopackage com.thread.

2020-09-11 08:10:50 226

转载 程序员成功之路 ——The road ahead for programmer

程序员成功之路 ——The road ahead for programmer(演讲稿)一、我很羡慕在座的各位同学,因为你们是中国未来的程序员,而我不是,我一直很遗憾。比尔盖茨曾经写过一本书叫做《未来之路》The road ahead, 那么今天我选择这样一个题目,the road ahead for programmer, 程序员的未来之路,也就是程序员的成功之路,希望大家未来也能够拥有像比尔盖茨一样的智慧的头脑和开一家像微软一样的公司。俗话说:心有多大,人生的舞台就有多大!二、最近看了几篇csdn

2020-09-10 23:17:44 173

原创 Java多线程 死锁发生的四个必要条件

文章目录死锁发生的四个必要条件死锁案例解读死锁发生的四个必要条件互斥条件:一个资源同时只能被一个线程所使用.请求与保持条件: 例如请求第二把锁的时候, 保持自身的第一把锁不去释放.不剥夺条件: 进程已获得的资源(例如已经获得的锁),没有外界的力量来去剥夺这把锁.循环等待条件: 两个线程时, 是你等我释放锁, 我等你释放锁. 多个线程时, 是头尾相接的等待.例如下图以上的四个条件,为死锁发生的必要条件, 即必须同时满足这四种情况, 才会发生死锁.死锁案例解读例如此文的例子中.http

2020-09-09 08:14:09 569

原创 Java多线程 多个人转账发生死锁

文章目录多个人转账发生死锁多个人转账发生死锁人数多的时候, 依然会发生死锁, 遵循墨菲定律.虽然人多的时候发生死锁的几率不高, 但是危害大.此节的代码中, 需要用到上一节的代码, 链接如下.https://javaweixin6.blog.csdn.net/article/details/108475207此节的代码如下 :定义账户的数组, 用于给不同的账户转账.并且给每个账户赋初始值的钱为1000.在TransferThread内部类中继承了Thread类, 重写run方法, 执行NUM

2020-09-09 07:55:06 146

原创 Java多线程 死锁转账案例

文章目录两个转账的死锁demo两个转账的死锁demo需要两把锁: 转账时, 锁住自己的账户, 同时只能有一个线程去执行转账.获取两把锁成功, 且余额大于0 , 则扣除转出人的钱, 增加收款人的钱. 并且是原子操作.出现死锁的情况: 对方给我转钱 ,我也给对方转钱, 那么双方都持有自己的锁, 并且需要对方的锁, 这就造成了死锁.如下的代码演示了转账死锁的发生.在run方法中, 根据不同线程的flag 执行不同的转账方法,分别给a和b相互的转账.transferMoney方法就是转账的方法.在转

2020-09-08 20:38:21 360

Another-Redis-Desktop-Manager.1.3.7.exe

Another-Redis-Desktop-Manager.1.3.7.exe 由于官网和码云上下载太慢, 因此上传,提供高速下载渠道。 比Redis Desktop Manager 更好用, 界面更美观

2020-07-14

vagrant_2.2.6_x86_64.msi

由于vagrant官网下载vagrant_2.2.6_x86_64.msi非常慢, 因此提供下载

2019-10-31

FastDFS安装所需要的所有文件

搭建FastDFS集群,我们需要用到多个安装包,包括:FastDFS_v5.05.tar.gz、fastdfs-nginx-module_v1.16.tar.gz、libfastcommon-master.zip、nginx-1.6.2.tar.gz、ngx_cache_purge-2.3.tar.gz、apache-tomcat-7.0.47.tar.gz等

2018-12-09

eclipse activiti的插件

eclipse中的activiti插件. 此插件可以成功安装到eclipse中. 安装教程文章https://blog.csdn.net/qq_33229669/article/details/81809137

2018-08-18

tomcat集群session共享jar包

commons-pool-1.6.jar,commons-pool2-2.2.jar,jedis-2.2.0.jar,tomcat-redis-session-manager-1.2-tomcat-7.jar tomcat集群,实现session共享

2018-03-26

eclipse插件豆沙绿主题

此资源为eclipse的豆沙绿主题,使用后,eclipse的主题可以变为绿色,保护眼睛.

2018-01-15

java持续实践的留言板

发表于 2020-01-02 最后回复 2020-01-02

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

TA关注的人 TA的粉丝

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