- 博客(85)
- 资源 (15)
- 收藏
- 关注
原创 阿里云宣布“云工开物计划”:给中国所有大学生每人送一台云服务器
在现场,周靖人公布了云计算基础能力的最新进展,升级了人工智能平台,并发布千亿级参数规模的大模型通义千问2.0,在10个权威测评中全面超越GPT-3.5和Llama2,加速追赶GPT-4。在2023云栖大会上,阿里云CTO周靖人表示,面向智能时代,阿里云将通过从底层算力到AI平台再到模型服务的全栈技术创新,升级云计算体系,打造一朵AI时代最开放的云。此外,现场发布了一站式模型应用开发平台阿里云百炼。该平台集成了国内外主流优质大模型,开发者可在5分钟内开发一款大模型应用,几小时即可“炼”出一个企业专属模型。
2023-11-04 12:45:52
463
原创 读书笔记2
投资这个事,大道至简。一开始你会觉得投资太复杂了,但是你越往后学,就越觉得简单,很多知识都是相同的,只要你降低了欲望,放平了心态,收益反而越来越好。投资市场就是一面镜子,你强他更强,你非要跟他抢钱,最后必然被他洗劫一空,你要是主动示弱,他比你更弱,基本上很多钱都是白送给你的。...
2022-03-20 14:35:20
434
原创 浅析重入锁ReentrantLock与读写锁ReadWriteLock
1 Lock接口1.1 Lock与synchronized在Lock接口出现之前,Java程序是靠synchronized关键字用来实现锁功能,使用时隐式地获取和释放锁,但是它将锁的获取和释放固化了。所以,如果占有锁的线程由于要等待I/O或者其他原因(比如调用sleep方法)被阻塞了,其他线程就会只能一直等待,直到占有锁的线程释放掉锁,释放锁有以下几种情况:(1)获取锁的线程执行完了该代码块,然后会自动释放锁。(2)执行线程发生了异常,JVM会自动释放掉线程的锁。(3)占有锁的线程进
2022-03-18 23:22:21
237
原创 java面试必备精选题(上)
1、看一道面试题public static void main(String[] args) throws Exception { String test = new String("abc"); //加入某种逻辑,使得test的引用不变并输出abcd System.out.println(test); }public static void main(String[] args) throws Exception {
2022-02-19 15:56:11
287
原创 算法数据结构准备篇
现在的面试对算法的要求都比较高了,基本都会遇到一两道算法题,想进大厂更是要好好准备,作为过来人,博主知道算法刷题比较痛苦,所以总结了资料和方法帮助大家节约时间,少走弯路。1、资料Java数据结构和算法百大面试题-InfoQhttps://github.com/kdn251/interviews指导学习(一) | 小浩算法 重要https://labuladong.gitbook.io/algo/di-ling-zhang-bi-du-xi-lie 重要数据结构和算法动态可视化 (..
2022-02-13 22:21:41
373
原创 数据结构-链表成环问题总结
1、找到环的入口ListNode fast = head,slow = head;while(true){if(fast == null || fast.next == null) {return null;}fast = fast.next.next;slow = slow.next;if(fast == slow ){break;}}fast = head;while(fast != slow) {fast = fast.next;slow = slow.n
2022-02-13 22:06:34
416
原创 某互联网面试题分享
1、问hashmap和concurrentHashmap,问的比较深。2、redis 缓存什么东西?怎么保证一致性?3、rocketmq 实现消息的幂等、丢失问题。4、netty 为什么性能高?netty和NIO有什么区别?netty的线程模型?5、spring事务的传播性6、问项目:分库分表怎么实现的?7、多线程,线程池的实现8、java8的stream流,内部类什么时候可以用lambda写?9、mysql 如何解决死锁10、自定义注解的原理是什么?11、sprin
2022-02-13 22:03:28
472
原创 mysql慢查询及优化
背景MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。本人从2013年7月份起,一直在美团
2022-02-13 21:52:33
973
原创 最全RocketMQ学习资料
1、MQ介绍1.1 什么是MQ?为什么要用MQ?MQ就是MessageQueue,消息队列MQ的应用场景主要有以下几个方面:异步解耦交易系统作为淘宝和天猫主站最核心的系统,每笔交易订单数据的产生会引起几百个下游业务系统的关注,包括物流、购物车、积分、流计算分析等等,整体业务系统庞大而且复杂,消息队列RocketMQ可实现异步通信和应用解耦,确保主站业务的连续性。削峰填谷诸如秒杀、抢红包、企业开门红等大型活动时皆会带来较高的流量脉冲,或因没做相应的保护而导致系统超负荷甚至崩溃,或因限制
2022-01-29 10:22:51
869
原创 Java设计模式之策略模式和模板方法模式
前言本篇来学习下行为型模式的两个模式,策略模式(Strategy Pattern)和模板模式(Template Pattern)。策略模式简介策略模式(Strategy Pattern)属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。其主要目的是通过定义相似的算法,替换if else 语句写法,并且可以随时相互替换。策略模式主要由这三个角色组成,环境角色(Conte
2021-06-22 19:15:53
407
原创 阿里 Sentinel 源码解析
回首页阿里 Sentinel 源码解析总体来说,Sentinel 的源码比较简单,复杂的部分在于它的模型对于初学者来说不好理解。虽然本文不是很长,最后两节还和主流程无关,但是,本文对于源码分析已经非常细致了。阅读建议:在阅读本文前,你应该至少了解过 Sentinel 是什么,如果使用过 Sentinel 或已经阅读过部分源码那就更好了。另外,本文不涉及到集群流控。由于很多读者也没使用过 Hystrix,所以本文也不做任何对比。更新 2019-12-11:更新了滑动窗口秒级数据统计.
2021-06-14 11:24:16
639
原创 当输入一个URL的时候用到什么协议?
浏览器中输入URL浏览器要将URL解析为IP地址,解析域名就要用到DNS协议,首先主机会查询DNS的缓存,如果没有就给本地DNS发送查询请求。DNS查询分为两种方式,一种是递归查询,一种是迭代查询。如果是迭代查询,本地的DNS服务器,向根域名服务器发送查询请求,根域名服务器告知该域名的一级域名服务器,然后本地服务器给该一级域名服务器发送查询请求,然后依次类推直到查询到该域名的IP地址。DNS服务器是基于UDP的,因此会用到UDP协议。得到IP地址后,浏览器就要与服务器建立一个http连接。因此要用到
2021-03-05 23:08:42
5337
3
原创 linux 常用命令-实用
1、输出一个文本文件 nowcoder.txt 中第5行的内容sed -n 5p#输出第1-5行的内容sed -n '1,5p'awk -F : 'NR==5{print$0}' nowcoder.txtawk '{if(NR==5){print$0}}' nowcoder.txt2、去掉文件中的空行cat nowcoder.txt | awk NFsed '/^$/d' nowcoder.txtawk '!/^$/ {print $NF}' nowcoder.txt
2021-03-04 20:46:34
232
1
原创 linux 文件去重
在查日志的时候经常会遇到文件的去重,排序获得想要的结果,下面我们就来看看具体的案例:文本行去重:测试文件 test.txtHello World.Apple and Nokia.Hello World.I wanna buy an Apple device.The Iphone of Apple company.Hello World.The Iphone of Apple company.My name is Friendfish.Hello World.Apple and N
2021-03-03 09:56:55
2438
原创 linux常用命令之awk
1、awk简介awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。awk是一种很棒的语言,它适合文本处理和报表生成,其语法较.
2021-02-09 17:10:34
655
原创 zookeeper-实战篇
1、启动服务,客户端进行连接:2、查看节点:ls -R(递归遍历)3、创建默认节点,增删改查:顺序节点:临时节点:临时顺序节点:容器节点:
2021-02-07 15:50:45
424
原创 实用:mybatis的一个dao对应多个mapper
1、需求运用mybatis-generator:generate 文件自动生成了mysql的对应mapper文件, 生成的文件满足不了我们的需求时,需要手写一部分sql代码。手写的代码也放在自动生成的文件中。这样导致的一个结果就是如果我们业务变动,对数据库表新增了一个字段。这个时候我们需要重新生成对应的mapper文件,生成mapper文件之后,还需要把我们之前的手写的mysql语句拷贝到新生成文件中,有时或者因为忽略可能直接用新生成的mapper覆盖了之前的mapper结果把手写的代码覆盖掉。
2021-02-03 19:36:59
2782
原创 mybatis的primaryKey问题
在使用mybatis的自动生成代码的时候,我会发现有几个默认的方法,那么这些方法该如何使用呢?你真的清楚吗?1、updateByPrimaryKeySelective 和updateByPrimaryKey 的比较updateByPrimaryKeySelective 和updateByPrimaryKey 都是以数据库主键字段去更新表里面的数据。updateByPrimaryKeySelective 会对值不为null的字段进行更新处理,为null直接忽略。updateByPrimar..
2021-02-03 11:34:05
919
原创 zookeeper基础篇
1、什么是zookeeper文档 https://zookeeper.apache.org/官方文档上这么解释zookeeper,它是一个分布式协调框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。zookeeper的两个核心概念:文件系统数据结构 + 监听通知机制1.1、文件系统数据结构每个子目录项都被称作为 znode(目录节点),和文件系统类似,我们能够自.
2020-12-05 15:41:56
387
原创 CMS & G1
CMS垃圾收集器的原理CMS收集器和G1收集器的优缺点CMS垃圾收集器的原理图解 CMS 垃圾回收机制原理,-阿里面试题G1 垃圾收集器 参考:G1 垃圾收集器入门G1 与CMS的区别 参考:CMS收集器和G1收集器优缺点什么是CMSCMS全称ConcurrentMarkSweep,是一款并发的、使用标记-清除算法的垃圾回收器, 如果老年代使用CMS垃圾回收器,需要添加虚拟机参数-"XX:+UseConcMarkSweepGC"。使用场景:GC过程短暂停,适合对时延要求.
2020-11-09 19:34:48
352
原创 解决vmware-centos7 配置静态ip后无法访问外网的情况
最近在VMware虚拟机里玩Centos,装好后发现上不了网。经过一番艰辛的折腾,终于找到出解决问题的方法了。最终的效果是无论是ping内网IP还是ping外网ip,都能正常ping通。step1: 配置静态IP地址cd /etc/sysconfig/network-scriptslsvi ifcfg-ens33改掉或添加红框内的参数.step2: 不适用网络管理器托管...
2020-10-10 21:50:13
1083
原创 【mysql InnoDB的B+树分析】
InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛。在计算机中磁盘存储数据最小单元是扇区,一个扇区的大小是512字节,而文件系统(例如XFS/EXT4)他的最小单元是块...
2019-08-19 14:40:35
2019
原创 【一文让你深入学习quartz】
前言 我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据,发送通知等等。换句话说就是在某一个有规律的时间点干某件事。并且时间的触发的条件可以非常复杂(比如每月最后一个工作日的17:50),复杂到需要一个专门的框架来干这个事。Quartz就是来干这样的事,你给它一个触发条件的定义,它负责到了时间点,触发相应的Job起来干活。 这种情况下使用Qu...
2019-07-19 18:08:37
589
1
原创 文件的分割和合并
文件的操作文件的分割public static void Split(String SrcFilePath,int SingleGoalFileSize,String GoalFileDirectory){ //SingleGoalFileSize 单位:MB ,校验路径和目录 if("".equals(SrcFilePath) || SrcFilePath...
2019-07-12 19:49:39
671
1
原创 最全的Redis工具类
RedisUtil介绍 最全的Java操作Redis的工具类,封装了对Redis五种基本类型的各种操作,力求符合Redis的原生操作,使用StringRedisTemplate实现!快速导航:key命令操作 | String数据操作 | Hash数据操作 | List数据操作 | Set数据操作 | zSet数据操作相关知识:Redis基础知识补充 | Spring集成Redis | ...
2019-07-12 09:31:00
3841
3
原创 concurrentHashMap解析这篇文章就够了
实现原理ConcurrentHashMap使用分段锁技术,将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问,能够实现真正的并发访问。如下图是ConcurrentHashMap的内部结构图:从图中可以看到,ConcurrentHashMap内部分为很多个Segment,每一个Segment拥有一把锁,然后每个Se...
2019-07-04 17:30:39
1649
1
原创 redis zset 内部的实现原理
Redis对象Redis对象由redisObject结构体表示。 1 2 3 4 5 6 7 typedef struct redisObject { unsigned type:4; // 对象的类型,包括 /* Object types */ unsigned e...
2019-07-04 16:39:44
26440
9
原创 使用java在项目完成手机短信登录
手机号登录在现在的项目中用的场景非常多,实现起来也不难,今天我们就一起来通过演示实现登录过程。 <1>首先需要注册个第三方的账户,比如秒嘀科技等,然后拿到三个参数值:QUERAY_PATH ACCOUNT_SID AUTH_TOKEN <2>编写获取验证码类getMessage.javaprivate static final String QUER...
2019-06-19 14:01:42
28640
128
转载 kafka深度解析(一)-Kafka背景及架构介绍
摘要Kafka是由LinkedIn开发并开源的分布式消息系统,因其分布式及高吞吐率而被广泛使用,现已与Cloudera Hadoop,Apache Storm,Apache Spark集成。本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比。并介绍了Kafka的架构,Producer消息路由,Consumer Group以及由其实现的不同消息分发方式,Topi...
2019-04-30 14:55:58
455
转载 kafka学习资料
参考资料推荐书籍方面可以学习:《Apache kafka 实战 》 《kafka 权威指南》英文部分:官网: Apache KafkaJIRA列表:Kafka - ASF JIRA Kafka issue列表,使用关键字去搜索你碰到的实际问题Kafka KIP: Kafka Improvement Proposals 可以看到最新的Kafka新功能提议及其讨论Kafka设计文档:In...
2019-04-14 15:08:46
468
原创 javacv之视频抽帧
视频抽帧可以做一些处理,比如水印,去水印等操作,然后再合成视频。下面直接上代码:引入maven步骤看javacv去水印的文章:https://blog.youkuaiyun.com/weixin_38008100/article/details/89216936这里直接上关键操作: /** * 视频文件指定时间段的帧截取 * @param file * @param ...
2019-04-11 19:02:14
3538
原创 javacv实现图片去水印
最近工作需求要做图片去水印的功能,研究了一段时间发现javacv能做这个功能,然后总结了一下。首先导入maven<dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv</artifactId> ...
2019-04-11 18:12:22
4029
4
原创 react +插件实现图片裁剪
npm i react-image-crop --saveimport ReactCrop from 'react-image-crop'; import 'react-image-crop/dist/ReactCrop.css';然后我们来看一个例子:import ReactDOM from "react-dom";import React, { PureComponent } fr...
2019-04-10 13:12:30
4268
原创 npm 安装React Image Crop
执行npm install 出现如下提醒xxxxxx====added 253 packages from 162 contributors and audited 1117 packages in 42.157sfound 5 vulnerabilities (1 low, 4 high) run `npm audit fix` to fix them, or `npm audit` fo...
2019-04-08 11:50:32
737
原创 opencv实现视频截取
python 实现的:#功能:对视频文件进行剪切。#剪切指定长度的视频,选择要裁剪的视频,选择开始时间点和停止时间点即可。#将处理后的视频保存为output.avi文件import cv2 #OpenCVimport tkinter.filedialog#Python文件对话框filename = tkinter.filedialog.askopenfilename()#弹...
2019-04-07 15:37:37
5702
6
原创 ConcurrentHashMap详解
HashMap非线程安全的,HashTable是线程安全的,所有涉及到多线程操作的都加上了synchronized关键字来锁住整个table,这就意味着所有的线程都在竞争一把锁,在多线程的环境下,它是安全的,但是无疑效率低下的。ConcurrentHashMap(JDK1.7)在JDK1.7中,ConcurrentHashMap的数据结构是由一个Segment数组和多个HashEntry组成的...
2019-03-08 17:50:01
980
原创 阿里云学生服务器
首先奉上小编的云大使领券地址:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=m0oyqgv5当然了领劵后还可以购买学生机点开后访问:https://promotion.aliyun.com/ntms/act/campus2018.html?utm_content=se_1000442269认证后就可以便...
2019-03-07 12:01:17
1601
原创 Idea 快捷键使用
1、常使用的Ctrl + E 最近打开的文件Ctrl + W 最大化窗口Shift+ Click 可以关闭文件Alt+Insert 可以生成构造器/Getter/Setter等Alt + Shift + R 动...
2019-02-28 18:06:19
570
myeclipse注释模板
2018-06-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人