首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java研发军团

    Java 最爹的 10 大功能

    今天我们就来梳理一下Java中最“爹”、最违反常识的功能,以排行榜的方式发布,以飨读者。说明一下,本文中的代码基于JDK8来编译实现。 这个功能稍显“爹”,也是初学者常犯的错误,所以它也光荣上榜,排名第10位。 “爹”后果。 10、Java注释能够识别Unicode 先看看代码: public static void main(String[] args){ // \\u000d System.out.println 这样的功能着实“爹”,极其违反常识,它必须要上榜,必须要荣登状元的位置。 以上就是Java语言中十大“爹”的功能,你是否认同这样的排名?你觉得有哪些功能更应该入选此榜单?欢迎后台留言讨论!

    45830发布于 2020-06-05
  • 来自专栏wayn的程序开发

    Redis分布式锁常见分析

    本文主要针对日常开发中加锁过程中某些异常场景进行讲解与分析。 1.1 先说一个暴论:如果料想到有这类异常产生,为什么不在加锁时,就把加锁过期时间设置大一 不管所续期还是增大加锁时长,都会导致一个问题,其他线程会迟迟获取不到锁,一直被阻塞。 ) { String key = "test"; try { log.info("---申请加锁"); if (redisLock.lock(key, 10 { // 模拟任务执行15秒 log.info("---加锁第一次成功"); if (redisLock.lock(key, 10 五、总结 其实本文得核心逻辑有许多都是参考 Redission 客户端而写,对于这些常见得,博主结合自身思考,业界知识总结并自己实现一个分布式锁得工具类。

    1K61编辑于 2023-03-13
  • 来自专栏K8s 系列

    Go嵌套并发实现EDM,附分析#1

    因此本文就结合自己在学习Go并发的实战demo中,把遇到的一些写下来,共享进步。 1. Demo需求与分析: 需求:实现一个EDM的高效邮件发送:需要支持多个国家(可以看成是多个任务),需要记录每条任务发送的状态(当前成功、失败条数),需要支持可暂停(stop)、重新发送(run)操作。 分析:从需求可以看出,在邮件发送中可以通过并发实现多个国家(多个任务)并发、单个任务分批次并发实现快速、高效EDM需求。 3. import ( "bufio" "fmt" "io" "log" "os" "strconv" "sync" "time" ) var ( batchLength = 10 小结: 本文通过两层嵌套Go 并发,模拟实现了高性能并发EDM,具体的一些出错行控制、任务中断与再次执行将在下次继续讨论,主要逻辑已跑通,几个小结如下: a) WaitGroup 一般用于main

    83920发布于 2021-09-22
  • 来自专栏c++与qt学习

    JUC记录

    JUC记录 tomcat中threadlocal使用采记录 tomcat中threadlocal使用采记录 tomcat默认使用线程池来管理线程,即当收到一个请求时,如果线程池存在空闲线程,则会从中取出一个空闲线程来处理该请求

    27540编辑于 2021-12-24
  • 来自专栏全栈程序员必看

    微信公众号网页开发-Vue项目分析

    项目背景 该系统为商品推广系统,微信交互涉及网页授权和网页分享,年前使用django框架做了基础版,节后项目升级,功能更加丰富,使用vue框架做前后端分离开发,前后端分离开发提升了开发效率,也埋藏了很多 分析及解决 开发前需要进入公众号后台配置”JS接口安全域名”及“授权回调页面域名”,如果服务端要获取token,还需要配置”IP白名单”,详细信息可以查阅官网。 params).json() openid = res.get("openid") # 获取openid return ajax.ajax_ok(dict(openid=openid)) 以下Android和iOS都有,处理方案都可行 1. vue-router默认为hash模式,此时添加的code参数会添加到#前面造成授权失败,处理方案是使用history模式。 微信分享 微信网页分享可以将网址以卡片的形式转发,提升用户体验,但也最多 微信分享最难的部分就是权限验证,主要逻辑是根据当前网址生成签名配置到config函数,微信sdk会重新生成签名进行比对验证

    1.3K20编辑于 2022-09-06
  • 来自专栏算法channel

    Python 闭包

    闭包 上篇参考:Python 闭包使用注意,接下来,介绍使用闭包,经常会犯的一个错误:演示代码如下, In [6]: def boy(pos): ...: def run(step In [7]: r = boy(0) In [9]: r(10 return pos 5 return run UnboundLocalError: local variable 'pos' referenced before assignment 分析原因 ) Out[16]: 10 我们可以利用,闭包执行完后仍然能够保持住当前的运行环境 Out[17]: 30 In [18]: run(10) Out[18]

    83720发布于 2019-05-13
  • 来自专栏简单的日记

    支付流程的

    支付流程中的猜的几个。 交易流水和记账 每一笔交易都需要记录流水,并登记到个人和机构的分户账户上,统计和分析也需要根据交易流水来更新相关数据。 完成数据记录后,发送MQ出来,记账、统计、分析,都是接收MQ来完成数据处理。 涉及到本地资金支付,比如钱包支付,会需要分布式事务处理,扣减账号余额,记账,扣减库存等,每个操作失败,都要回滚。 整体上,风控可以分为数据采集,数据分析,实时计算,规则配置,实时拦截等模块。风控本身是个大话题,以后专门讨论。又欠一个债。 但风控和交易的接口比较简单。 hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io https://yq.aliyun.com/articles/10 分布式事物

    2K41发布于 2019-07-15
  • 来自专栏猫头虎博客专区

    Java 脑图

    上面这些都很对,这些也都是面试中经常考察的。但从真实工作场景看,我觉得还缺少一环:业务开发能力。可能你会说,业务开发不就是 CRUD 吗,有啥难的? 最后,项目负责人开启明细日志彻查问题,才发现是自调用方法导致事务没生效造成的。 诸如以上种种,由一个小引发的重大事故不在少数。不仅会给公司造成损失,还会影响自己的职业发展。 其实,并非是我们不想解决问题,只是不知道问题到底出在哪里。

    21610编辑于 2024-04-07
  • 来自专栏wayn的程序开发

    7000字详解Spring Boot项目集成RabbitMQ实战以及分析

    本文给大家介绍一下在 Spring Boot 项目中如何集成消息队列 RabbitMQ,包含对 RibbitMQ 的架构介绍、应用场景、点解析以及代码实战。 例如,在 waynboot-mall 项目中,每天晚上八有秒杀活动,这时可以使用 RabbitMQ 来削峰限流,保证系统的稳定运行。 分析 在使用 RabbitMQ 的过程中,有一些常见的问题需要注意: 消息确认:消息确认是 RabbitMQ 保证消息可靠传递的机制。消息确认分为生产者确认和消费者确认。 消费者配置 在 RabbitMQ 的消息消费环节,需要注意的一就是,如果需要确保消费者不出现漏消费,则需要开启消费者的手动 ack 模式。 大家在自己的项目中如果需要引入 RabbitMQ 时,都可以参考本文的代码实战配置,帮助大家快速集成、避免踩。 我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

    5.2K33编辑于 2024-01-30
  • 来自专栏算法channel

    Python必知(2):嵌套列表的

    2 识别 在使用嵌套的列表时要小心,否则很可能遭遇非常尴尬的情况,下面是一个小例子。 3 区分两个概念 要想把这个填平,我们首先要区分对象和对象的引用这两个概念,而要区分这两个概念,还得先说说内存中的栈和堆。 我们经常会听人说起“堆栈”这个词,但实际上“堆”和“栈”是两个不同的概念。 知道了这一,我们可以回过头看看刚才的程序,我们对列表进行[[0]* 3] * 5操作时,仅仅是将[0, 0, 0] 这个列表的地址进行了复制,并没有创建新的列表对象。 这一可以通过id函数检查scores[0]和scores[1]的地址得到证实。在此我们举一个小例子,读者朋友们可以敲一敲加深印象。 5 正确代码 所以,正确的代码应该按照如下的方式进行修改。 往期推荐 盘点互联网公司最常见的面试编程题 Python那些年:我们踩过的那些(1)

    6.2K20发布于 2019-07-30
  • 来自专栏前端说吧

    css - 兼容适配总结(。。。)

    1. transform为代表的这些css3属性一定要写-webkit-,不然低版本(目前遇到的是8)的苹果,不支持。

    92920发布于 2018-12-05
  • 来自专栏飞总聊IT

    爹”排行榜:Java语言最违反常识的功能TOP 10

    今天我们就来梳理一下Java中最“爹”、最违反常识的功能,以排行榜的方式发布,以飨读者。说明一下,本文中的代码基于JDK8来编译实现。 10 switch必须加上break才结束 对于多重分支选择,一系列的if-else-if语句会让代码的可读性变差,建议使用switch语句来代替,然而switch case中的分支判断,必须加上break 这个功能稍显“爹”,也是初学者常犯的错误,所以它也光荣上榜,排名第10位。 “爹”后果。 这样的功能着实“爹”,极其违反常识,它必须要上榜,必须要荣登状元的位置。 以上就是编者总结的Java语言中十大“爹”的功能,你是否认同这样的排名?你觉得有哪些功能更应该入选此榜单?

    49410发布于 2019-12-09
  • 来自专栏大龄程序员的人工智能之路

    Android 10 WebView 踩实录

    版本选择 Chromium 源码更新非常平凡,而且架构也经常变化,不像我们做项目,一套代码恨不得修修补补用上十几年。 首先想到的是直接使用 V53 的源码,但无法应用到 Android 10 上,主要是 Android 10 的 WebView API 接口发生了一些变化。 在趟过 代码下载、编译、安装后,终于成功运行起来: 代码下载 由于众所周知的原因, Chromium 源码不能直接下载,我是挂了代理进行下载。 第一步,查看 Android 10 中 weview.apk 的签名信息。 可以预料,后面还会继续踩。没办法,只能遇,这不就是程序员的工作职责吗?

    3K50编辑于 2023-10-08
  • 来自专栏拂晓风起

    rsync 自动创建目录的

    第三种情况,目录路径很可能就不存在,而这里就有。rsync只支持创建一层目录!!!也就是说,上述例子,只允许目录3不存在,前缀/data/1/2/必须先存在。 要解决上述问题,就要用小技巧,例如: 1、用别的程序创建目录 2、ssh过去先创建 3、奇技淫巧:rsync -a --rsync-path="mkdir -p /tmp/imaginary/

    3.3K20发布于 2018-07-03
  • 来自专栏CDN及云技术分享

    重构代码遇到的(一)

    我得确保即将修改的代码拥有一组可靠的测试。这些测试必不可少。尽量遵循重构手法可以避免绝大多数引入bug的情形,但是我毕竟是人,毕竟有可能犯错。

    51050发布于 2021-09-25
  • 来自专栏不换的随想乐园

    Taro 中使用 Echarts 小记

    Taro 中使用 Echarts 小记 背景 最近的一次项目中实践了两个技术方向: Taro 中使用 React 组件结合原生的 小程序 组件使用; Taro 中使用 echarts 做图表; 中间经历的略微有些坎坷 xx.addEventListener is not a function; echarts 层级过高,浮在 Popup 、Modal 等组件上; echarts 面积过大,导致移动端的触摸滚动影响页面; CoverView 组件的 CoverView 组件的的一批,谁用谁知道,俗称:“狗都不用”,但我还是用了,害!

    1.4K10编辑于 2024-05-11
  • 来自专栏全栈之路

    egret知(填)识()

    替换控件,方法为dragonBones.Slot.setDisplay(dispaly:any),但是并不是每一次都能成功设置上,display也并不是一直有值,以下提供一种方式参考,并不一定对哈:

    1.2K10发布于 2018-10-19
  • 来自专栏知无不言 - 畅所欲言

    Mybatis Plus 数据权限插件

    Mybatis Plus 数据权限插件Mybatis Plus 插件版本:3.5.3.1插件作用:通过拼接 SQL 的方式给 where 添加查询条件达到数据隔离的效果。 IN (1,2,3)"; Expression sqlSegmentExpression = CCJSqlParserUtil.parseCondExpression(sqlSegment); 忽略权限过滤后配置 【1】这些调用栈从上到下是入口到出口的方法调用顺序,从调用栈中每个方法进去就很容易找到插件的执行位置,调用的入口。然后在入口中打一个断点,把注解的注释放开,然后一步步步过,就能发现出问题的地方了。

    1.3K20编辑于 2023-11-20
  • 来自专栏全栈之路

    egret知(填)识()

    hello",style:{size:16,textColor:oxffff00}} ] 富文本还可以添加链接,同时可以给链接添加下划线哦 \^0\^ var ADDRESS = "egret知(填)识() 集"; lbTest.textFlow=[ ... { text: ADDRESS, style: { textColor: 0x76b7e8, size: 21, href:"https:/ /www.jianshu.com/p/a4d600ce46af", underline: true }, } ... ] 给链接添加事件: var ADDRESS = "egret知(填)识()集" 因此,兼容移动端时,应该这么些: var ADDRESS = "egret知(填)识()集"; lbTest.textFlow=[ { text: ADDRESS, style: { textColor Object.values的使用 var obj = {}; var keys = (<any>Object).keys(obj); var values = (<any>Object).values(obj); 10

    1.3K10发布于 2020-01-21
  • 来自专栏云深之无迹

    开新:betaflight源码分析(开篇)

    其次也是想小小的在GT上面提个issue,但是就提个崩溃这种的就太没有水平了,还是想提交一代码的,所以,编写的前提是看懂,也是我写这个东西的一个原因。当然更重要的是学习里面各个学科的知识了。

    3.6K30编辑于 2022-11-25
领券