首页 文章 精选 留言 我的

精选列表

搜索[java],共10000篇文章
优秀的个人博客,低调大师

突破Java面试(06)-如何保证消息队列的高可用性

0 Github 1 面试题 如何保证消息队列的高可用性 2 考点分析 高可用是必问的,因为MQ的缺点很多,导致系统可用性降低。所以只要你用了MQ,接下来问的一些要点肯定就是围绕着MQ的那些缺点怎么解决. 要是你傻乎乎的就干用了一个MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的印象就是,只会简单实用一些技术,没任何思考,马上对你的印象就不太好了。这样的同学招进来要是做个20k薪资以内的普通小弟还凑合。如果招进来做薪资20多k的高工,那就惨了,让你设计个系统,里面肯定一堆坑,出了事故公司受损失,团队一起背锅。 3 面试题详解 这个问题这么问是很好的,因为不能问你kafka的高可用性怎么保证啊?ActiveMQ的高可用性怎么保证啊?一个面试官要是这么问就显得很没水平,人家可能用的就是RabbitMQ,没用过Kafka,你上来问人家kafk

优秀的个人博客,低调大师

Java实现文本编辑时基于拼音输入的补全原型

所在源码库同上文, 尚未和上文的编辑器右侧的命令区集成. 代码由How to show autocomplete as I type in JTextArea?修改得来. 基本功能 英文输入至少一个匹配词典的字母后, 显示提示框 上下光标选中某提示项后按空格键自动替换 弹出提示框后, 如果继续键入, 提示框隐藏后, 根据新键入继续提示. 比如上面输入't'后提示"退出"和"粘贴"两项, 继续输入'c'后就只显示"退出" IDE和中文输入法的深度集成是必然趋势. 虽然现在第三方的中文输入法可以解决"输入"的基本功能, 但在IDE自动补全/智能提示功能日益成为开发效率提升的必需辅助功能的现今, 只有实现了中文输入法和IDE补全/提示的集成, 中文编程才能更接近实用. 这早已在易语言开发环境中实现, 期待早日看到开源项目实现类似功能. 源码简单说明 监听文本框的按键输入, 并准备弹出提示框: 文本区.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { 随后显示提示(); } ... }); 弹出之前, 先获取此次输入的字符串, 并基于它生成/更新提示框: private void 显示提示() { final int 文本位置 = 文本区.getCaretPosition(); Point 界面位置; try { 界面位置 = 文本区.modelToView(文本位置).getLocation(); } catch (BadLocationException e2) { e2.printStackTrace(); return; } final String 提示源词 = 取提示源词(文本位置); if (提示源词 == null) { return; } if (提示 == null) { 提示 = new 提示框(文本区, 文本位置, 提示源词, 界面位置); } else { 提示.更新(文本位置, 提示源词, 界面位置); } } 提示框部分, 由一个列表来管理提示项的选择, 文本的替换: private JList<String> 创建提示列表(final String[] 提示列表) { JList<String> 列表 = new JList<>(提示列表); 列表.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY, 1)); 列表.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 列表.setSelectedIndex(0); 列表.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { if (e.getKeyChar() == KeyEvent.VK_SPACE) { if (插入选择文本()) { 隐藏(); } } else { 隐藏(); 文本区.requestFocusInWindow(); 文本区.dispatchEvent(e); } } @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_DOWN) { 下移(); } else if (e.getKeyCode() == KeyEvent.VK_UP) { 上移(); } } ... }); return 列表; } 当然少不了一个字符->中文词典(如下), 实际应用时需要基于拼音生成提示的算法 private static final HashMap<String, String[]> 提示词典 = new HashMap<>(); static { 提示词典.put("xj", new String[] {"新建"}); 提示词典.put("dk", new String[] {"打开"}); 提示词典.put("bc", new String[] {"保存"}); 提示词典.put("jq", new String[] {"剪切"}); 提示词典.put("fz", new String[] {"复制"}); 提示词典.put("nt", new String[] {"粘贴"}); 提示词典.put("zt", new String[] {"粘贴"}); 提示词典.put("tc", new String[] {"退出"}); 提示词典.put("j", new String[] {"新建", "剪切"}); 提示词典.put("t", new String[] {"退出", "粘贴"}); }

优秀的个人博客,低调大师

如何使用沙箱测试第三方应用授权(java版)

1.首先到沙箱环境中配置授权回调地址; a).沙箱环境配置地址:[url]https://openhome.alipay.com/platform/appDaily.htm[/url] b).正式环境下创建应用配置密钥可参考该贴:[url]https://openclub.alipay.com/read.php?tid=1606&fid=25[/url] 2.应用授权URL拼装 a).拼接规则:[url]https://openauth.alipaydev.com/oauth2/appToAppAuth.htm?[/url]+ appid = 开发者应用的AppId + redirect_uri = 授权回调地址地址(与应用中配置的授权回调地址完全一样,并且需要Encode);如:[url]https

优秀的个人博客,低调大师

如何使用沙箱测试单笔转账到支付宝账号(java版)

说明: 本帖是利用支付宝沙箱测试“单笔转账到支付宝账户”,demo中会配置个人的沙箱账号信息,方便大家测试。 测试环境:Eclipse+JDK1.6及以上+Tomcat6.0及以上 1.目前仅支持账户余额渠道付款。2.转账额度 1)单日转出累计额度为100万元。 2)转账给个人支付宝账户,单笔最高5万元;转账给企业支付宝账户,单笔最高10万元。特殊逻辑注意点:1)如果商户重复请求转账,支付宝会幂等返回成功结果,商户必须对重复转账的业务做好幂等处理;如果不判断,存在潜在的风险,商户自行承担因此而产生的所有损失。2)如果调用alipay.fund.trans.toaccount.transfer掉单时,或返回结果code=20000时,或返回结果code=40004,

优秀的个人博客,低调大师

创建卡券模板接口(alipay.pass.template.add)JAVA版本小样

官方接口文档:https://docs.open.alipay.com/199/105250/ 基本操作流程 1.创建应用等流程不概述了,调用该接口主要第一步是模板设计:推荐使用卡券平(https://alipassprod.alipay.com). 在线编辑获取JSON模板,具体的获取JSON模板参考该文档(必读):https://docs.open.alipay.com/199/105249/ 2.提取到JSON模板信息,即我们所需的tpl_content字段,然后传入到请求参数中. 详见下面代码信息 //创建卡券模板接口(alipay.pass.template.add)publicstaticvoidPassTemplateAdd(){ AlipayClient alipayClient=alipayclient()

优秀的个人博客,低调大师

如何使用沙箱测试手机网站支付辅助接口(java版)

说明:本帖是利用支付宝沙箱测试电脑网站支付接口,demo中会配置个人的沙箱账号信息,方便大家测试。测试环境:测试环境:Eclipse+JDK1.6及以上+Tomcat6.0及以上 1.支付宝手机网站alipay.trade.query (统一收单线下交易查询)二选一输入订单号或者支付宝交易号之后点击查询,然后会很坑爹的发现,新打开一个一样的查询页面,完全没有意义,肯定很多人直接以为出bug了 事实上是他直接后台吧结果打印出来然后就完事了 这边为了方便大家查看结果,稍作修改将结果打印在页面上,不过点击查询,页面订单号没保存,懒得改了哈 2.退款 退款结果 3.退款查询失败,当我们只填写订单号或者交易号时,会报参数无效,必须还有填写退款请求号 4.退款查询成功,退款请求号必填,如果没有,就填成跟订单号(或者交易号)一致即可

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册