java
文章平均质量分 77
java技术分享
程序员石磊
专注在职读研、云原生技术、室内定位技术分享!
展开
-
Jgit Packfile is truncated解决方案
因此,ServerAliveInterval 和 ServerAliveCountMax 这样的参数需要通过 JGit 的 API 或配置进行设置,而不是通过修改 ~/.ssh/config 文件。要在 JGit 中配置 SSH 连接的类似参数,你可以使用 JGit 的 SshSessionFactory 或者通过设置传输配置的方式来实现。这两个配置选项是用于提高 SSH 连接稳定性的 SSH 客户端配置参数,它们被添加到 SSH 配置文件(通常是 ~/.ssh/config)中。原创 2024-02-05 11:33:51 · 849 阅读 · 0 评论 -
leader说用下httpclient的重试,但我没用,因为我有更好的方案。
上期周总结中写了要分析超时重试方案,这次专门介绍下可用的方案。1、故事背景客户对我们系统的可用性要求特别高不能低于99%,为了监控这些系统的可用性同时不对各子产品进行代码入侵,我们采取了单独开发服务进行探活。其实探活通俗的说就是:定时调用下各种接口,查看服务是否可用。各系统接口访问协议不同主要分为:websockethttpgit sshgit httplinux shell(ssh)k8s集群环境下夹杂这各种代理转发中间件,导致链路超长,一旦网络抖动或请求超时就误判为不可用,最终.原创 2021-11-08 17:08:02 · 681 阅读 · 0 评论 -
ajax json list spring mvc接收
后台接收/** 保存新增,@Valid标注spirng在绑定对象时自动为我们验证对象属性并存放errors在BindingResult */ @RequestMapping(method=RequestMethod.POST) @ResponseBody public Map create( @RequestBody List data,BindingResult error原创 2015-04-02 09:25:58 · 2125 阅读 · 0 评论 -
weblogic下乱码 避坑
get请求,如果参数用中文的话,在web.xml中配置spring characterencodefilter,在tomcat下获取参数乱码,但是在weblogic下面不乱码。 如果不配置过滤器,就会get post都乱码。原创 2017-03-08 23:23:42 · 1261 阅读 · 0 评论 -
ehcache rmi 动态节点,代码创建,分布式配置。
ehcache rmi 动态节点,代码创建,分布式配置。原创 2017-12-04 12:25:04 · 637 阅读 · 0 评论 -
spring security 个性化登录策略
最近做一个项目,安全框架采用spring security 。由于业务需要,要限制一个账户只能登录一次,不能在多个浏览器登录,也就是一个账户只能对应一个sessionid。这个很好实现,配置上默认的 session并发策略ConcurrentSessionControlAuthenticationStrategy类,设置maximumSessions值为1。代码如下:<sec:http use-ex原创 2017-11-16 00:13:58 · 3622 阅读 · 2 评论 -
简单电子病历功能设计
电子病历患者基本信息管理和注册姓名,年龄,性别等等。科室管理科室基本信息医生信息管理医生基本信息,所在科室等。患者就诊信息患者什么时间在什么科室进行就诊患者病历信息患者由哪个医生在什么时候在什么科室看病,诊断结果是什么。处方管理针对某次病历,医生开的药品数量,具体什么药品。...原创 2019-03-07 16:40:21 · 2580 阅读 · 0 评论 -
Spring如何处理线程并发
我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突。我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑定数据连接或会话的资源。但这些资源本身是非线程安全的,也就是说它们不能在同一时刻被多个线程共享。虽然模板类通过资源池获取数据连接或会话,但资源池本身解决的是数据连接或转载 2014-04-28 17:38:50 · 1590 阅读 · 0 评论 -
简单快捷订单对账系统
天下武功为快不破!简单快捷订单对账系统,主要特色有商品快速选择下单,方便操作商品出售数量统计快速对账商品金额快速计算订单查询登录商品管理商品出售记录商品批量组合下单商品下单记录商品自由选择下单订单明细查看开发不易,源码扫一扫联系,更多精彩关注微信公众号【lovepythoncn】...原创 2020-07-21 11:12:52 · 797 阅读 · 0 评论 -
ajax 实现 文件下载
var form=$("");//定义一个form表单form.attr("style","display:none");form.attr("target","");form.attr("method","post");form.attr("action",baseUrl+"ajaxdownload.svc");var input1=$("");input1.attr("转载 2013-10-20 21:32:40 · 966 阅读 · 0 评论 -
spring security 在没实现session共享的集群环境下 防止用户多次登录的 实现思路
背景项目采用阿里云负载均衡,基于cookie的会话保持。没有实现集群间的session共享。项目采用spring security 并且配置了session策略如下:<bean class="org.springframework.security.web.authentication.session.ConcurrentSessi...原创 2018-03-06 17:04:38 · 3427 阅读 · 0 评论 -
Paho JavaScript Client 基于websocket实现 mqtt客户端
mqtt服务器采用activemq实现。首先配置activemq支持websocket. 具体配置,请点击activemq官网配置。编写客户端页面,引入Paho官方客户端js库。 具体配置,请点击查看 贴出关键代码如下:// Create a client instance//注意不要在client前写varclient = new Paho.MQTT.Client(l原创 2018-01-15 15:56:34 · 7480 阅读 · 6 评论 -
hibernate inverse cascade
4.1.4 “inverse与cascade没有什么关系,互无牵扯。”commit后,这两个属性发挥作用的时机不同,hibernate会根据对pojo对象的改动,及cascade属性的设置,生成一系列的Action,比如UpdateAction,DeleteAction,InsertAction等,每个Action都有execute方法以执行对应的sql语句。待所有这些Action都生转载 2013-09-25 10:09:58 · 702 阅读 · 0 评论 -
echcache 帮助文档
最近做ehcache,分布式缓存,贴出官方文档。共享在百度云 http://pan.baidu.com/s/1i55rYcP。版本有2.6.11和2.10.X原创 2017-11-28 09:24:31 · 730 阅读 · 0 评论 -
获取微信access_token每天超过规定次数解决方案
思路1.第一次获取放设置过期时间放map2.下次从map中获取,如果如果为空就请求微信api. 如果不为空,就拿上次存放的过期时间和现在时间做比对,如果过期时间早于当前时间,就重新获取。代码 protected synchronized AccessToken getAccessToken() { AccessToken accessToken = (AccessToken)tokenMap.get(this.appid); Long now = (new Da原创 2020-07-24 21:01:34 · 7280 阅读 · 0 评论 -
eclipse插件Hibernate tools与slf4j冲突
Eclipse Indigo Service Release 2安装hibernate tools插件的地址:http://download.jboss.org/jbosstools/updates/stable/indigohibernate tools jar包:\plugins\org.hibernate.eclipse.libs_3.5.1.v20120715-0252-H转载 2013-09-06 10:57:38 · 1442 阅读 · 2 评论 -
使用eclipse远程调试weblogic
配置weblogic远程调试之前,需要做这几个工作: 1) 安装weblogic服务器,然后创建一个域; 2) 安装eclipse集成IDE; 3) eclipse中包含发布的工程。 在上面几个工作完成之后,配置weblogic远程调试需要这么几个步骤: 第一步,修改weblogic根目录下user_projects\domain转载 2014-12-01 17:19:45 · 625 阅读 · 0 评论 -
Hibernate继承映射
在面向对象的程序领域中,类与类之间是有继承关系的,例如Java世界中只需要extends关键字就可以确定这两个类的父子关系,但是在关系数据库的世界中,表与表之间没有任何关键字可以明确指明这两张表的父子关系,表与表是没有继承关系这样的说法的。为了将程序领域中的继承关系反映到数据中,Hibernate为我们提供了3中方案:第一种方案:一个子类对应一张表。第二种方案:使用一张表表示所有继转载 2013-07-06 09:46:35 · 685 阅读 · 0 评论 -
spring security 自定义退出策略
项目需要,要求登录用户非空闲状态,不可退出。说白了就是,在退出的时候增加逻辑判断,如果状态为非空,就不让其退出。 仔细查看spring security文档,发现这个框架里维护了一个过滤器链,来提供服务。而我退出策略用的是LogoutFilter,框架默认提供的过滤器。代码如下:<sec:http use-expressions="false" auto-config="true"原创 2017-11-19 23:39:39 · 2561 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
[@cms_content_list orderBy='4' titLen='15' channelOption='1' siteId=site.id **s_notice**='是' **o_notice**='eq'] [#list tag_list as a] <a href="${a.url}">${a.title}</a> &nbs原创 2015-08-25 12:07:03 · 629 阅读 · 0 评论 -
助你成为Java大神的十个建议
几十年来,Java 一直是最受欢迎的编程语言之一。想成为专家的人越来越多。因为竞争激烈,仅仅成为一名优秀的 Java 开发人员已经不够了------你需要获得深厚的知识并熟悉许多概念才能在竞争中领先。如果您一直在问自己"作为一名 Java 开发人员,我应该学习什么才能脱颖而出?",这篇博文可以帮助您解决问题。1.对OOP原则有一个坚实的基础和清晰的认识Java 是一种面向对象的语言,因此开发人员不应低估 OOP 原则,而应努力深入了解该概念。学习如何在编程时应用 OOP 原则,并深入了解对象建模、SO.原创 2021-06-08 23:37:02 · 625 阅读 · 51 评论 -
one-to-many关系的更新问题
基本配置如下: Java代码 学生实体 name="selectclasses" lazy="false" inverse="true" cascade="all" sort="unsorted"转载 2014-11-14 09:24:55 · 1779 阅读 · 0 评论 -
Hibernate实体3种状态Transient/Persistent/Detached
实体对象的生命周期有三种状态: 1.Transient(自由状态) 此时的实体对象和数据库中的记录无关联,只是一个普通的JavaBean。 2.Persistent(持久状态) 此时的实体对象和数据库中的记录有关联,其变更将由Hibernate固化到数据库中。该实体对象处于由Hibernate框架所管理的状态。 3.Detach转载 2014-11-14 11:57:06 · 1399 阅读 · 0 评论 -
Hibernate One to Many 迟延加载分析
One to Many1: Oneto Many,默认是采用延迟加载的(lazy=true),因为很多情况下,当我们获取到One的一方后,Many的一方并非立即需要的,当我们经常只需要One的一方的时候,延迟加载就很有意义了.2:Hibernate 中的延迟加载(lazy loading),当我们在程序中获取到了一的一方,但是不需要多的一方,那么使用延迟加载就是非常适合的.转载 2014-11-14 07:43:31 · 1485 阅读 · 0 评论 -
java web应用分布式改造方案
最近对项目进行分布式改造: 1.缓存支持分布式(ecache支持配置分布式或redis实现。) 2.锁机制支持分布式(zookeeper或redis实现) 3.session支持分布式(阿里云用https://help.aliyun.com/document_detail/27704.html?spm=5176.product27537.6.606.nrn3ce),本地测试的话,可以用redi原创 2017-11-27 14:22:57 · 1997 阅读 · 0 评论 -
闲谈Tomcat性能优化
Tomcat在各位JavaWeb从业者常常就是默认的开发环境,但是Tomcat的默认配置作为生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈.幸好Tomcat还有很多的提升空间.下文介绍一下Tomcat优化,可以分为内存,线程,IO.一:Tomcat内存优化,启动时告诉JVM我要一块大内存(调优内存是最直接的方式)Windows 下的catalina.bat转载 2016-02-25 10:39:37 · 608 阅读 · 0 评论 -
GraalVM在Facebook大量使用,性能提升显著!
翻译自https://medium.com/graalvm/graalvm-at-facebook-af09338ac519Facebook正在使用GraalVM来加速其Spark的工作负载,并减少内存和CPU的使用。请继续阅读,了解它们的迁移故事、性能改进结果和未来计划。Facebook背后的技术拥有28亿月活跃用户的Facebook是世界上访问量最大的平台之一。为了保证在这种负载下的可靠性和高性能,工程团队采用了多种技术,包括Java、JavaScript、Flow Hack、PHP、Pyt.原创 2021-08-02 11:11:32 · 4704 阅读 · 6 评论 -
java7 异常处理增强
在Java 7发行版中,oracle在异常处理机制上也做了一些不错的更改。这些主要是改进的catch块和多余的throws子句。让我们看看他们是如何改变的。1.改进了Java 7中的catch块在此功能中,现在您可以在单个catch块中捕获多个异常。在Java 7之前,您只能在每个catch块中仅捕获一个异常。要指定期望的例外列表,使用竖线(’|’)字符。Java程序可在单个catch块中捕...原创 2020-03-22 23:11:57 · 454 阅读 · 0 评论 -
java7 WatchService 您用过吗?
每当这些文件发生任何更改时,它们都会自动刷新 -这是大多数应用程序中常见的非常普遍的问题。每个应用程序都有一些配置,预期该配置文件中的每次更改都会刷新。解决该问题的过去方法包括使用Thread,根据配置文件的“ 最后更新时间戳 ” 定期轮询文件更改。现在使用Java 7,情况已经改变。Java 7引入了一项出色的功能:WatchService。我将尽力为您解决上述问题。这可能不是最好的实现,但是肯...原创 2020-03-22 23:13:06 · 614 阅读 · 0 评论 -
java7 try-with-resources 很香
这里写自定义目录标题1.**资源清除的旧方法(在Java 7之前)**2.使用try-with-resources的新方法(语法示例)3.**实际如何运作?**4.向自定义资源添加功能5.总结Java 7为懒惰的Java开发人员带来了一些非常好的功能。尝试资源是这种功能之一,它可以减少代码行,并使代码更健壮。在本教程中,我将讨论有关此功能的内容。1.资源清除的旧方法(在Java 7之前)*...原创 2020-03-22 23:10:16 · 420 阅读 · 0 评论 -
Java程序员2021年应该学习的11项技能
作为一名Java开发人员和一个Java博客的作者,我经常收到来自世界各地的Java程序员的请求,询问他们如何提高自己。过去,我分享了我成为一名更好的程序员的10条建议,这篇文章中的每一条建议仍然适用,但是考虑到这是新的一年,我决定为Java程序员记下新的技巧,以提高自己,增强他们对Java编程的了解,并增加他们对未来职业发展的价值。因此,不要再浪费时间了,让我们看看2019年我对Java程序员的九个想法。你可以从这些想法中获得灵感来创造你自己的目标。顺便说一下,各位,在这篇文章中,你不仅会找到要学的.原创 2021-05-16 14:22:37 · 573 阅读 · 0 评论 -
良心推荐JVM性能调优工具
良心推荐JVM性能调优工具该工具源于几年前关注的一个阿里大佬专做jvm性能调优,现在已经创业开发出社区版的在线性能调优!我觉得很香就推荐给大家!工具地址https://console.perfma.com/下面简单介绍社区版三个产品XXFox-Java虚拟机参数分析参数查询:查询指定JVM参数的官方定义、使用方法、默认值、专家建议参数检查:对JVM参数的用法,赋值及组合进行正确性与合理性检查参数变迁:给出JVM参数在不同配置环境下推荐取值或替代参数参数优化:全面诊断JVM参数,给出综原创 2021-01-27 22:45:50 · 956 阅读 · 7 评论 -
学会这个Thread Dump分析工具,让您秒变性能分析大师!
每次分析thread dump,我都会用肉眼扫描这dump中的线程状态,并企图发现可能存在的死锁,十几万行太难了!有时候记不太清楚各种等待、阻塞的原因,我都偷偷打开一篇博客边看边分析,很明显我还没把原理熟记于心!互联网上讲thread dump的文章太多了,本篇文章也不想讲这个,那么就结合实战讲讲有什么自动分析或可视化分析的工具吧,降低下难度和门槛!实战背景**最近某省项目项目经常出现服务卡死,没法接收数据。该项目对完提供接口,各地市调用接收数据入库。项目架构:jboss5.1,jrockit 1..原创 2021-01-25 21:33:33 · 2488 阅读 · 1 评论 -
windows下揪出java程序占用cpu很高的线程 并找到问题代码
今天开启个项目后登陆后没过多久后发现,页面慢的很,而且电脑声音响的很,打开任务管理器看了下发现cpu占用高达100%系统是win2010所以在windows平台上要找出到底是哪个线程占用的cpu还不那么容易,linux用top就简单多了最后的解决方法:1.找到java进程对应的pid。找pid的方法是:打开任务管理器,找到详情中的java.exe 找到其pID2.然后把java进程导出快照。直接运行命令。jstack -l 3468> c:...转载 2020-09-27 17:54:14 · 578 阅读 · 0 评论 -
java jdk 非对称加密解密实现
废话不说,上代码package util;import org.apache.commons.codec.binary.Base64;import java.io.ByteArrayOutputStream;import java.security.Key;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.secur原创 2020-09-01 17:10:38 · 784 阅读 · 4 评论 -
toString 更优雅的实现方式
看看XXX的写法,又臭又长@Override public String toString() { return "FillRecordDetailEntity [id=" + id + ", fillRecordTotalId=" + fillRecordTotalId + ", businessInfoId=" + businessInfoId + ", commitT...原创 2020-01-15 09:58:03 · 903 阅读 · 1 评论 -
jquery ajax 和servlet json 结合的简单小例子
1.servlet import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.Se原创 2014-03-06 15:42:06 · 3436 阅读 · 0 评论 -
【转】java自定义监听器的示例代码(转载)
JAVA用户自定义事件监听完整例子JAVA用户自定义事件监听完整例子- ---sunfruit 很多介绍用户自定义事件都没有例子,或是例子不全,下面写了一个完整的例子,并写入了注释以便参考,完整的实例源代码如下:package demo;import java.util.EventObject;/*** Title: 事件处理类,继承了事件基类* Descr转载 2014-04-28 17:41:07 · 514 阅读 · 0 评论 -
java执行批处理命令 获取返回 数据
import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;public class T {/*** 描述:* @param args* void * @author 张磊 2014-5-16 编写*/原创 2014-05-20 15:11:21 · 1883 阅读 · 0 评论 -
从富文本编辑器获取html内容组装json,特殊字符引起报错解决办法。
最近项目需要,需要从富文本编辑器获取html内容组装json,然后还要把组装后的json对象利用json2转成json字符串,数据放入编辑器提交,由于兼容ie8以上浏览器。所以搞了好久的特殊字符转义,经常出错。我们一般想到的解决办法就是转义:这/*3.用正则表达式实现html转码*/function htmlEncodeByRegExp(str){ var s = ""; if原创 2015-09-30 10:07:48 · 13939 阅读 · 0 评论