
总结
xiaozaq
这个作者很懒,什么都没留下…
展开
-
java中的位运算符
确定指定位置为1是否符合格式的方法:将指定格式中的x都用0替换,原来的0和1保持不变,得到的字节b与a变量进行与运算,如果结果为b,则说明a变量的补码中的1是符合格式的,但0不一定。确定指定位置为0是否符合格式的方法:将指定格式中的x和1都用0替换,0用1替换,得到的字节b与a变量进行与运算,如果结果为0,则说明a变量的补码中的0是符合格式的,但1不一定。(b=(byte)0x80)(a & (byte)0x80) == (byte)0x80 为true,则a符合1xxxxxxx格式。原创 2023-01-16 10:00:24 · 802 阅读 · 1 评论 -
正则表达式 :(?s)(?i) ?: 表示的意思
表示更改^和$的 含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。(在此模式下,$的 精确含意是:匹配\n之前的位置以及字符串结束前的位置.)E):与"m"相反,表示如果使用这个修饰符,那么"$"将匹配绝对字符串的结尾,而不是换行符前面,默认就打开了这个模式。A):表示如果使用这个修饰符,那么表达式必须是匹配的字符串中的开头部分。x):表示如果加上该修饰符,表达式中的空白字符将会被忽略,除非它已经被转义。U):表示和问号的作用差不多,用于设置"贪婪模式"。转载 2023-01-13 14:36:00 · 2118 阅读 · 0 评论 -
三层架构和mvc的区别
MVC是一种软件开发架构模式,全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。业务逻辑都聚集到业务层、dao层、实体层,如果要改进和个性化定义界面及用户交互,一般只需要修改表现层和控制器层就可以,即模型可以不变,只需要修改视图和控制器。视图:主要包括表现层。原创 2022-11-04 22:23:31 · 162 阅读 · 0 评论 -
java 对日期进行加减运算时发现结果与预期不一致。
对日期进行加减运算注意点原创 2022-08-05 11:20:44 · 357 阅读 · 0 评论 -
正则表达式捕获Java中的组和反向引用
捕获组是一种将多个字符视为一个单元的方法。通过将要分组的字符放在一组括号内来创建它们。例如,正则表达式(狗)创建一个包含字母“ d”,“ o”和“ g”的单个组。捕获组通过从左到右计数其开括号来编号。例如,在表达式((A)(B(C)))中,有四个这样的组。((A)(B(C)))(A)(B(C))(C)现在有个需求是去除文章中重复的“<br/>”换行标签,希望只保留一个换行标签。public static void main(String[] args) throws E原创 2022-04-19 17:53:49 · 416 阅读 · 1 评论 -
java 智能分析字符串格式,然后进行转化为日期对象。
经常需要使用常用的日期格式字符串转化为java的date对象。每次写"yyyy-MM-dd"之类的就好烦,为什么不能直接根据字符串本身格式自动转化吗?于是自己写了个方法把常用转化日期格式字符串自动匹配,然后进行转化。/*** * 智能分析字符串格式,然后进行转化为日期对象。 * @param source * @return * @throws ParseException */ public static Date getDate(String source) throws P原创 2022-03-30 17:10:51 · 835 阅读 · 0 评论 -
synchronized的使用与理解
参考了知乎的文章加深对锁的理解。synchronized锁定的到底是什么? - 知乎主要看了bravo1988的回答。有了以下理解:synchronized既是加锁也是验权。先是进行验证是否有权限进行加锁。然后验权通过后对对象进行加锁。具体步骤大致如下:1.检查对象锁状态。结果有3中情况:1.1 对象未加锁,则验权通过,执行步骤2。1.2 对象已加锁,并且是本线程加的锁,则验权通过,给对象重入锁,执行步骤2。1.3 对象已加锁,...原创 2021-09-17 18:18:18 · 166 阅读 · 0 评论 -
win10打开命令行
win10打开命令行.regWindows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere]@="在此处打开命令窗口""Icon"="cmd.exe"[HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere\command]@="cmd.exe /s /k pushd \"%V\""[HKEY_CLASSES_ROOT\Directory\Back原创 2021-08-11 09:59:23 · 367 阅读 · 0 评论 -
java 正则表达式去除字符串前后的逗号和空格
代码如下: public static void main(String[] args) { String exp = "(^[, ]+)|([, ]+$)"; System.out.println(", , ,1,2,3, ".replaceAll(exp, "")); System.out.println(" ,,,,,, ".replaceAll(exp, "")); System.out.println(",,,1,2,3, ,, ".replaceAll(exp, ""))原创 2021-05-20 09:59:20 · 2658 阅读 · 0 评论 -
系统多账号合并实现的思考
系统可通过多途径注册,如手机号码,微信等第三方认证。同一个真实用户又多个账号,如何合并为一个。2种思路:方案一:不修改系统其它模块,新增一个账号合并功能。然后对所有关联userid的表进行更新。建要合并的用户id合并为同一个userid。如:userid分别为:1,3,6的3个用户合并为用户id为1的用户。合并功能需要对其它所有关联到用户id的表进行更新,将历史记录中的userid为1,3,6的记录改为1。即丢弃id为3和6的用户,将其数据合并到用户到1用户。优点:对原业务系统框架基本无改动。业原创 2021-04-16 11:57:55 · 2852 阅读 · 0 评论 -
使用URLConnection进行获取网页内容是总是乱码,在浏览器上却能正常显示
尝试很多次,花了很多时间才发现内容进行了gzip压缩。解决办法:import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.URL;import java.net.URLConnection;import com.taobao.api.internal.toplink.util.GZIPHelper;public class HttpData { public static v原创 2021-02-04 10:07:31 · 515 阅读 · 5 评论 -
chrome浏览器 在线打开预览pdf文件,而不是下载文件。
Content-Type: application/pdfContent-Disposition: inline; filename="pdf-file1.pdf"关键有2个点:首先Content-Type: application/pdf其次是Content-disposition中的inline。之前我写的是attachment,导致结果一直下载文件而不是预览。...原创 2021-02-02 10:15:33 · 10646 阅读 · 4 评论 -
InputStream 读取完整数据
由于使用下面代码读取数据总是不完整。调试了一天时间,才发现原来数据显示不全,是因为没读取完。int count = in.available();byte[] b = new byte[count];in.read(b);要一次读取多个字节时,经常用到InputStream.available()方法,这个方法可以在读写操作前先得知数据流里有多少个字节可以读取。需要注意的是,如果这个方法用在从本地文件读取数据时,一般不会遇到问题,但如果是用于网络操作,就经常会遇到一些麻烦。比如,S...原创 2021-01-14 09:46:36 · 4537 阅读 · 0 评论 -
mp4视频文件压缩率大概是多大?
上一篇介绍了压缩率的计算方法:一帧1920*1080的画面有多少比特,需要多大带宽观看是才不会卡顿?这次从行测记录仪中找了几个mp4格式的视频文件研究一下。先看下文件信息:根据上面文件信息,我们知道这是一个1920*1080分辨率3分钟时长录像。因为视频有声音,所以文件大小不全是图片压缩后的大小。压缩后视频大小 = 文件总大小 - 音频数据大小 = 142,540,800 byte- 31* 3 * 60 / 8 kb =141 826 560 B =138 502.5 K...原创 2020-10-30 11:38:05 · 13999 阅读 · 0 评论 -
一帧1920*1080的画面有多少比特,需要多大带宽观看是才不会卡顿?
一帧1920*1080的画面比特数 =1920*1080 bits =1920*1080/8 byte =259 200 B =1920*1080/8/1024 KB =253.125 KB高清电视节目都是以24帧/秒的标准拍摄的,电视的刷新率却是60HZ,就是说电视画面一秒种刷新60次。而要在一台每秒刷新60次的显示设备上播放每秒24帧的图像,你必须填补,或者说再创造画面来满足每秒60次的刷新。具体做法是把电影画面的第一帧变成成两个画面,第二帧变成3个画面,第三帧变成两个画面,第四帧...原创 2020-10-12 16:55:50 · 33637 阅读 · 13 评论 -
druid-1.1.23源码分析——getConnection获取连接
动机:项目有些功能页面访问速度很慢,想优化下。这些功能页面不常用,只是一些简单的查询展示。但是经常首次访问速度超慢(>10s)。访问一次,接着访问速度飞快(<100ms).因为是多数据源项目,就是其中的几个页面有这种情况,并且这几个页面都用到同一个数据库。所以怀疑是因为我们单位内部有入网规范管理系统,连接长时间不用,可能会被关闭,所以数据库连接池获取连接,首次访问连接池要新创建一个连接才能获取到可用连接。有试过很多druid配置:testWhileIdle,timeBetweenEvic原创 2020-07-10 10:43:47 · 5256 阅读 · 2 评论 -
根据域名查找ip网站
http://ip.webmasterhome.cn/?ip=res.wx.qq.com原创 2020-03-06 17:14:32 · 2990 阅读 · 0 评论 -
兼容移动端的后台界面框架
AdminLTEAdminLTE是一个完全响应的后台管理模板。基于Bootstrap3框架。高度可定制,易于使用。适合许多屏幕分辨率从小型移动设备到大型台式机。GitHub AdminLTE地址:https://github.com/almasaeed2010/AdminLTEAdminLTE演示:https://adminlte.io/themes/AdminLTE/index2.html...原创 2020-02-07 16:51:19 · 1384 阅读 · 1 评论 -
PFX 证书转 JKS
在阿里云上申请了一个SSL证书(Symantec免费版 SSL),下载下来的是pfx格式的证书。使用的是jetty服务器,需要转换为jks格式。下载的压缩包:PFX 证书转 JKSkeytool -importkeystore -srckeystore mycert.pfx -srcstoretype pkcs12 -destkeystore mycert.jks -d...原创 2019-12-18 15:21:04 · 4268 阅读 · 0 评论 -
HTTP Header 详解
HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。首先传递message-header,即httpheader消息。http header 消息通常被分为4个部分:gen...原创 2019-11-06 15:38:12 · 376 阅读 · 0 评论 -
ofbiz总结——当有很多条消息时右下角“显示全部”乱码
问题:ofbiz操作完成后提示的消息有很多条时,右下角的“显示全部”乱码解决方案:参考lookup查找选中后输入框乱码解决方案,他们原理是相同的。具体步骤:1. 把系统语言切换到en2. 再次操作弹出消息框,可以看奥右下角显示“show all”字符串。3. 在framework\common\config\CommonUiLabels.xml中找到en对应原创 2017-10-25 21:06:44 · 424 阅读 · 0 评论 -
在ofbiz中从多个数据库获取数据
要从多个数据库中获取数据,那么必然要连接多个数据库,所以必须配置对应的多个datasource。配置连接数据库在%OFBIZ_HOME%/framework/entity/conf/entityengine.xml文件中定义。例如:<datasource name="mysql30" helper-class="org.apache.ofbiz.entity.d原创 2017-12-07 10:57:50 · 1490 阅读 · 0 评论 -
ofbiz的delegator常用api
首先看针对单个实体的。1.根据主键查询实体findone通过主键找到一个实体。GenericValue findOne(java.lang.String entityName, java.util.Map fields, boolean useCache)例子1:facility = delegator.findOne("Facility", [facilityId : f原创 2017-12-08 10:17:10 · 1334 阅读 · 0 评论 -
AnnotationAwareAspectJAutoProxyCreator is only available on Java 1.5 and higher
一、问题描述及原因。 在Spring2.5Aop例子中的时候会出现一个错误only available on JDK 1.5 and higher,大概意思就是需要JDK1.5甚至更高版本。但是我用的是JDK1.8是比1.5高啊但是为什么报错呢?通过查阅资料此链接:http://fanli7.net/a/JAVAbiancheng/Spring/20140321/481981.html转载 2018-01-17 21:52:39 · 849 阅读 · 0 评论 -
jsse.jar和jce.ja
com.sun.net.ssl.internal.ssl.Provider类需要jsse.jarsun.org.mozilla.javascript.internal.Context需要jre7。不兼容jre8.Cipher类 依赖 jce.jar原创 2018-01-17 21:57:17 · 1774 阅读 · 0 评论 -
ofbiz 表单控件之display标签
标签控件display拥有的属性also-hidden description size type currency image-location default-valuealso-hidden:枚举类型(取值范围 true , false),默认值为true。如果该属性设置为true,则对应的表单下会自动创建一个与该控件对应的隐藏的input。例子:如上面的fi原创 2017-12-06 16:30:46 · 680 阅读 · 0 评论 -
ofbiz 使用迷你语言对请求数据进行校验
使用表单控件时,虽然定义了required-field="true",但这样只是界面中控件后面显示一个*号,并不会提交前进行校验,即使为空也一样能提交成功。 <form name="EditInternalOrg" type="single" target="editInternalOrg" default-map-name="partyGroup" header-row-st原创 2017-11-30 17:05:32 · 348 阅读 · 0 评论 -
ofbiz总结——Lookup使用的字段包含中文是显示乱码。
问题:在使用Lookup时字段包含中文显示乱码。demo如下图:选择后输入框中显示: 2016-2017学年解决方案:修改文件framework\common\template\includes\AjaxAutocompleteOptions.ftl原文件:原创 2017-10-24 11:07:17 · 1996 阅读 · 0 评论 -
查看ofbiz生成的sql
查看SQL语句:在ofbiz中通过实体来进行数据的维护。将SQL隐藏在了下层,但是有时候,作为开发人员希望了解一个操作都进行了哪些SQL操作,通过\framework\base\config\debug.properties进行设置我们就可以在runtime目录下的logs的,ofbiz.log的日志中看到我们想看到的信息了。我们需要将print.verbose设置为true;原创 2017-12-08 11:32:35 · 839 阅读 · 1 评论 -
ofbiz widget-form.xsd分析总结1
1. forms标签froms标签是form.xml文件的根节点。文件中只会存在一个。1.1 可包含子标签froms标签可以包含的子标签有:form 和 grid。一般我们都是用的from。下面是form.xml文件根节点定义。一般情况下不用改。 xmlns="http://ofbiz.apache.org/Widget-Form" xsi:schem原创 2017-11-30 11:41:53 · 630 阅读 · 0 评论 -
怎么解决jsoup不能完整获取响应内容的问题
当使用jsoup访问http的接口时,但如果遇到不能完整获取响应内容时,一般有以下几个原因。1. 网络异常,造成读取不全。这个很少发生,因为jsoup会报告exception2. 网络超时,此时可以设置 connection.timeout(n) 增加超时时间。3. 一切看起来都正常,也没有异常发生。 但是获取的数据就是少了一截。这里主要将第三点。仔细分析获取到的数据,发现得到数据都是1024k。...原创 2018-06-28 09:42:27 · 5171 阅读 · 1 评论 -
通过JShellLink获取快捷方式(.lnk格式文件)的真实路径
java 开发时希望获取到快捷方式的真实路径。去年已经实现过了,但最近再次使用时,确总是报错。异常信息如下:Exception in thread "main" java.lang.RuntimeException: Failed to load ShellLink at net.jimmc.jshortcut.JShellLink.load(JShellLink.java:233) a...原创 2018-09-06 09:41:42 · 2189 阅读 · 0 评论 -
发现一个chrome浏览器bug
chrome浏览器版本(版本 69.0.3497.100)测试web项目时,发现一个页面经常卡死,经过各种排除,终于找到了原因。先说现象:每当输入框input失去焦点(即触发blur事件)时,页面就卡死动不了了。排除过程:1.开始怀疑是数据太大,导致浏览器卡死了。不过也才100多条记录,应该也不至于啊。之前处理1000多条都没问题。排除。2.怀疑自己代码哪里写错了,死循环,...原创 2018-09-20 11:00:47 · 2170 阅读 · 1 评论 -
UML介绍
UML定义了5类,10种模型图五种类图定义:1.用例图:从用户角度描述系统功能,并指各功能的操作者。2.静态图:包括类图,包图,对象图。类图:描述系统中类的静态结构包图:是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构对象图:是类图的实例3.行为图:描述系统动态模型和对象组成的交换关系。包括状态图和活动图活动图:描述了业务原创 2017-04-13 09:31:59 · 486 阅读 · 0 评论 -
file.encoding引起的中文乱码问题解决办法
同样的代码,开发环境运行正常,部署到生产环境一般情况下(无论中文还是英文字母)页面也正常。当是在调用微信小程序的服务端接口发送模板消息到同微信开放平台下的微信公众号中时,生产环境调用接口发送消息出现中文乱,开发环境调试时又正常的。1.开发环境操作系统:win 10开发工具:eclipse项目文件编码(即*.java文件):utf-8启动方式有两种方式:① eclipse中运...原创 2019-07-29 15:23:20 · 5186 阅读 · 0 评论 -
jetty嵌入式启动websocket
网上查了好多资料。试了很多方式都不成功。记录下成功的方法,我的jetty版本是9.4.9.v20180320:ContextHandlerCollection contexts = new ContextHandlerCollection(); // WebSocket启用 ContextHandler contextHandler = new ContextHandler();...原创 2019-05-06 16:02:19 · 1725 阅读 · 0 评论 -
关于Java读取mysql中date类型字段默认值'0000-00-00'的问题
今天在做项目过程中,查询一个表中数据时总碰到这个问题:com.jfinal.plugin.activerecord.ActiveRecordException:Value '0system c4ca4238a0b923820dcc509a6f75849b12006-08-30 00:00:00system1‘ can not be represented as java.sql.Ti...原创 2019-04-10 17:29:35 · 1386 阅读 · 0 评论 -
电脑反应慢怎么办啊!
身为一名程序员,自己的电脑都卡不行,我也是醉了。如果软件用的很卡,某个操作很慢,需要花费个几分钟或者半个小时。给我源码,可能我通过优化sql语句,或者使用更有效率的算法实现相同功能,优化后可能1秒内就解决。但操作系统我是真不怎么喜欢捣鼓。能用就好了。慢一点点我也就忍忍了。最多使用管家,360什么的清下垃圾。现在快过年了,电脑实在太慢了。打开个win 7 系统 双击“计算机”(或者随便打...原创 2019-02-03 16:17:20 · 627 阅读 · 0 评论 -
内置Jetty HTTPS启动使用request.getScheme()总是返回http问题解决方案
现象: 不论是http还是https访问时,通过request.getScheme()获取的值都是http。环境: 内置Jetty启动项目 同时启动http与https访问。内置Jetty HTTPS启动 jetty版本:9.4.9.v20180320由于最近升级了https服务。导致系统原来的重定向功能出现了问题。...原创 2018-12-29 17:52:02 · 3959 阅读 · 0 评论 -
用户登录后重定向到原来访问页面
后台管理系统一般都会校验权限,当用户未登录,或者登录后长时间为操作导致session失效,权限校验会导致用户重定向到登录页面。此时希望用户在登录后返回原来的页面。具体实现方法如下:1.权限校验重定向到登录页面时,在其重定向的url后添加一个参数保留原来页面的url。可以自己随意定义,这里我定义的是toUrl。代码示例://System.out.println(&quot;未登录,未通过验证! &quot;)...原创 2018-11-22 09:53:50 · 13889 阅读 · 0 评论