其他
yuhui66666688gfbfdy
这个作者很懒,什么都没留下…
展开
-
telnet不是内部命令
Telnet用于远程操作互联网中的设备或终端计算机服务器,可以有效的减少现场操作的麻烦。因为设备或终端是遍布整个省或市,有的甚至是国外,如何高效的处理问题是当务之急,除了telnet还可以ssh使用crt软件登陆,telnet开启的话比较方便windows自带的cmd命令行下就可以运行。 工具/原料 win7...原创 2017-10-18 17:44:33 · 122 阅读 · 0 评论 -
数据结构的妙用
当需要遍历一次删掉遍历到的记录的时候不可用list,应该将list转化为linklist再转化为queue,然后用queue.pool() FinancialSalesOrderCondition financialSalesOrder = new FinancialSalesOrderCondition();financialSalesOrder.setIsPa...原创 2018-03-02 16:15:52 · 170 阅读 · 0 评论 -
从volatile说到i++的线程安全问题
简介volatile关键字保证了在多线程环境下,被修饰的变量在别修改后会马上同步到主存,这样该线程对这个变量的修改就是对所有其他线程可见的,其他线程能够马上读到这个修改后值. Thread的本地内存每个Thread都拥有自己的线程存储空间Thread何时同步本地存储空间的数据到主存是不确定的例子借用Google JEREMY MANSON 的解释,上图表示两个...原创 2018-03-07 11:40:08 · 192 阅读 · 0 评论 -
rrt
如果是纯java程序有点不一样。方式一首先是远程服务器上java启动参赛要加上调试的参数:"-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n"然后在idea中打开Edit Configurations 添加一个 Remote 配置一下host和port就行了。方式二:v当把一个...原创 2018-03-12 20:58:01 · 467 阅读 · 0 评论 -
用户名的共享内存key设置,不再用cookie
用户名的共享内存key设置,不再用cookie,key用requestid,shiro requset获取不到就用mvc的request 由于有些请求不在shiro权限范围,shiro实体获取不到,所以request获取不到,但是mvc的requestid一定有,都是一样的,他们只是包装关系cookie的方式不再用,有时嵌套iframe获取不到,延时等原因 ...原创 2018-03-13 13:39:09 · 177 阅读 · 0 评论 -
Queue 队列
什么是队列队列是数据结构中比较重要的一种类型,它支持 FIFO,尾部添加、头部删除(先进队列的元素先出队列),跟我们生活中的排队类似。队列有两种:单队列循环队列单队列就是常见的队列, 每次添加元素时,都是添加到队尾:以数组实现的队列为例,初始时队列长度固定为 4,font 和 rear 均为 0:每添加一个元素,rear 后移一位。当添加四个元素后, r...转载 2018-03-23 10:30:18 · 116 阅读 · 0 评论 -
BlockingQueue深入分析
多线程的共享也可以用全局变量做,全局变量可以用queue也可以不出现线程问题,局部变量需要用blockqueue才可以解决 1.BlockingQueue定义的常用方法如下 抛出异常特殊值阻塞超时插入add(e)offer(e)put(e)offer(e,time,unit)移除remove()poll()...原创 2018-03-23 11:19:38 · 109 阅读 · 0 评论 -
不同环境下的资源文件目录编译
不同环境下的资源文件目录编译1,编辑器中设置好资源目录(进一步修改编译结构在配置文件中) <profiles><profile><id>dev</id><properties><env-dir>META-INF/environments/dev</env-dir>&l原创 2018-03-29 10:58:38 · 219 阅读 · 0 评论 -
事物隔离级别
事物隔离级别(多个事物之间的问题) 未提交读一个事物未提交,另一个事物读取到他修改的数据 提交读(默认) 一个事物之前读了一个数据,另一个事物改变这个数据,后面读的不一样 可重复读 即使其他事物提交,本事物没有提交的时候都是以前的老数据 串行化 所有事物顺序执行 [Mysql]——通过例子理解事务的4种隔离级别...原创 2018-04-11 14:54:47 · 96 阅读 · 0 评论 -
上下文切换详解
上下文切换(有时也称做进程切换或任务切换)是指 CPU 从一个进程或线程切换到另一个进程或线程。进程(有时候也称做任务)是指一个程序运行的实例。在 Linux 系统中,线程就是能并行运行并且与他们的父进程(创建他们的进程)共享同一地址空间(一段内存区域)和其他资源的轻量级的进程。上下文是指某一时间点 CPU 寄存器和程序计数器的内容。寄存器是 CPU 内部的数量较少但是速度很快的内存(与之对应的...原创 2018-04-14 11:28:26 · 224 阅读 · 0 评论 -
复杂业务逻辑编码
复杂逻辑编码先用意语言,写好,然后逐步书写代码 写好后再抽出可以共用的方法---很重要,关系到代码的整洁,和后续可修改,可维护性 到坐席 是否选择订单 等额 选择坐席 不选择坐席 某一团队所有坐席 所有团队所有坐席 平均 选择坐席 不选择坐席 某一团队所有坐...原创 2018-03-02 15:06:02 · 445 阅读 · 0 评论 -
在使用实现过滤器进行request包装,获取内层request的分析
public class ShiroHttpServletRequest extends HttpServletRequestWrapper {} public class HttpServletRequestWrapper extends ServletRequestWrapper implements HttpServletRequest {} public cl...原创 2017-12-27 18:44:31 · 633 阅读 · 0 评论 -
img标签图片的刷新,删除
img标签图片的刷新,删除只要重新src的值即可 <img src=“” />原创 2017-10-21 16:22:07 · 1873 阅读 · 0 评论 -
占位配置获取方式
占位配置获取方式 1,配文文件获取: parameter.properties: #==== rabbitmq ======rabbitmq.host=106.75.146.36rabbitmq.username=rabbitmq.password=rabbitmq.port=10086 rabbitmq.exchange_topic_order...原创 2017-10-27 10:49:03 · 135 阅读 · 0 评论 -
jsp中从配置文件读取的方法
sp中从配置文件读取的方法: 1,java中从配置文件中拿2,放到session中3,jsp中session获取4,js从jsp获取,应用于脚本或jsp用占位符获取 String weixinOrderDetailUrl = ConfigInfo.getPropertiesValue("weixinOrderDetailUrl");...原创 2017-10-31 14:32:14 · 348 阅读 · 0 评论 -
InvalidClassException:local class incompatible: stream classdesc serialVersionUI
local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = 2427389723552147596由序列化引起的类无效的错误原因该错产生来自三个原因:1.没有指定值:BEAN没有指定序列化值即由JDK给出,客户、服务端使用了不同版本的JDK。=》解决...原创 2017-11-01 15:36:40 · 1722 阅读 · 1 评论 -
serialVersionUID的作用
serialVersionUID的作用简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。(InvalidCastExc...原创 2017-11-01 15:40:22 · 133 阅读 · 0 评论 -
用流下载图片等遇到的名称,后缀名问题
用流下载图片等遇到的名称,后缀名问题 public String getObject() throws InvalidBucketNameException, NoSuchAlgorithmException, InsufficientDataException, IOException, InvalidKeyException, NoResponseException, X...原创 2017-11-06 18:15:45 · 379 阅读 · 0 评论 -
内存生成公用的订单编号序列号
调用示例: 由于享元模式,key用了时间戳在ss级别,只在有在当前方法中可以获取内存中的批次,下一次调用导入又是从新获取 DBServerHelpBo dBServerHelpBo= new DBServerHelpBo(); dBServerHelpBo.setIpStr("10.100.84.38"); dBServerHelpBo.setSer...原创 2017-11-28 15:58:34 · 237 阅读 · 0 评论 -
公用返回类用泛型,返回固定格式
公用返回类用泛型,返回固定格式 不在需要用继承的方式一个baseresponse 一个子类(继承baseresponse) 这样,直接公用返回类用泛型传入这个子类 应用: @ResponseBody @RequestMapping(value = { "/saveUserRole" }, method = RequestMethod....原创 2017-12-08 18:07:23 · 971 阅读 · 0 评论 -
各种文件上传下载的本质
上传文件1,文件转化成流,流再转化成文件2,解析文件,对应格式的文件解析类,解析文件流,获取文件流中的数据,反之java生成对应的流用对应的文件解析器生成文件 例如excl XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is.getInputStream()); // 创建可写入的Excel工作薄 jxl.wri...原创 2017-12-18 13:39:11 · 718 阅读 · 0 评论 -
过滤器和拦截器区别
(1)因为一开始在过滤器中映射的url-pattern填写路径是*.action。所有的action要经过它的过滤。<url-pattern>*.action</url-pattern>(2)因为在web.xml中配置了过滤器,所以,执行过程所有程序都经过struts2过滤器(路径是:/*),首先过滤自己相关的程序,如xx.action,先处理,如果是.html或者...原创 2018-04-16 14:51:36 · 123 阅读 · 0 评论 -
UML类图(Class Diagram)中类与类之间的关系及表示方式
类之间大体分为5种关系: 1,依赖关系(Dependency)单向,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类,是一种“use a”关系如果A依赖于B,则B表现为A的局部变量,方法参数,静态方法调用等[java] view plain copy public class Person { public v...原创 2018-05-02 17:52:52 · 304 阅读 · 0 评论 -
jar使用的两种方式
jar使用的两种方式: 1,main 函数启动 2,让war包依赖,虽然每个jar都用controller\service\dao(一个完整的系统,由于没有main函数启动不了,可以被war依赖作为其代码之后使用)(分布式的前身设置,之后可以 加上main函数,单独启动,通过http访问),这时主要的配置全部在war包项目,jar包项目最多就是属...原创 2018-08-27 15:44:23 · 208 阅读 · 0 评论 -
一个请求的调用过程栈解析:
先创建一个任务线程--》放入tomcat线程池--》发起tomcat http协议--》tomcat认证--》进入错误页面过滤器--》进入起始过滤器--》进入上下文调用链--》走完调用链--》包装http协议请求--》请求分发--》mvc (url和方法)Mapping--》反射机制调用方法--》进入切面--》切面执行完成之后继续执行反射方法调用 [20...原创 2018-08-29 14:30:27 · 551 阅读 · 0 评论 -
生成指定长度的随机数,获取本机ip,mac
例一:public static String randomCreditKey(int strLength) {Random rm = new Random();double pross = (1 + rm.nextDouble()) * Math.pow(10, strLength);String fixLenthString = String.valueOf(pros...原创 2018-09-18 17:52:39 · 284 阅读 · 0 评论 -
加密解密思路
数据+密钥+加密密码-用java,jdk进行相应算法的加密解密实现 1,randomkey 加密/解密密码 随机定义,加密传给解密时用 2,RSA 私钥(解密)/公钥(加密) 事先给好3,sign生成逻辑一样 私钥用来解密key,key用来解密数据 加密: 加密公钥+加密密码 key 随机数publicKey 密钥...原创 2018-09-18 17:59:36 · 1209 阅读 · 0 评论 -
断点的一些特性
断点只能在当前主线程及其调用的子线程,当又通过http发起一个请求之后,这个http请求如果是自己的程序中的代码断点也是进不去,除非在调用http的线程中不打断点,才有时可进。所以本程序调用本程序最好不用http,用server依赖调用 ...原创 2018-09-21 17:11:45 · 162 阅读 · 0 评论 -
高并发的处理
高并发的处理 1,放在redis中,数据库中排队,然后用定时任务一个一个去消费---辅助用状态 ---qps大(异步处理的方式) 2,负载均衡 3,进程锁 3,nginx,linux设置最大连接,放弃策略 5,多线程消费--future合并多线程处理结果 ...原创 2018-09-25 17:40:13 · 124 阅读 · 0 评论 -
httpClient的xml,form,json提交
http可以实现多种提交(同理restamplate也一样) 提供url 和 参数由httpclient模拟相应的提交 1,提交xml数据 2,提交form表单的数据 3,提交普通的json数据 1,@Override public ApiResponse send(FacadeSendRequest facadeS...原创 2018-09-29 14:29:53 · 271 阅读 · 0 评论 -
防止跨站脚本攻击--不同的系统之间为了访问安全可以验证key,和sign
key和sign的校验可以采用类似日志的切面方式(一个切点可以织入多种通知,例如即织入日志通知,又织入key校验通知)切面基本思路是定义切点(截点),在切点(截点)处织入通知(前置通知,环绕通知,后置通知) 请求系统在业务数据之后加上key,sign,到达目标系统之后,目标系统用切面拦截(前置通知),校验key(和本地存的是否一致)和sign(加密方式,参数是否一致),通过之...原创 2018-10-12 11:17:41 · 631 阅读 · 0 评论 -
序列号的作用
序列号的作用:serialVersionUID 1,网络传输,持久化,2,反序列话的时候,如果没有版本号原实体类有改动的时候,此时用就的反序列会抛出异常,有了版本标志就不会出异常,新改的会自动赋值默认值 Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象。 序列化是Java中实现持久化存储的一种方法;为数据传输提供了线路级对象...2017-03-15 15:36:17 · 804 阅读 · 0 评论 -
MessageFormat与占位符
{}的数字代表了相应顺序位置的参数应用于短信,参数模板的使用方法(尤其是定时任务) 参数模板的话后面应用的时候用split--用这个主要是存在公用的参数 参数模板的示例: taskparam.openAccountNotify={0}|0|300|1800|2|5||{1}||||SUCCESS||||2 @Value("${jdan...原创 2018-08-24 10:50:06 · 414 阅读 · 0 评论 -
自己简单的实现认证功能
自己简单的实现认证功能 1,登录的时候输入用户名,密码,然后和数据库查询比对,有的话放行,将用户名放入session 2,自定义一个拦截器,拦截所有的请求,每次请求,检验session中可否拿到用户名,可以的放行--可以去别处不需要登录的页面拦截器返回true继续原来的调用链,返回false终端调用链 当然也可以结合注解去进一步的验证---在需要特殊校验...原创 2018-08-21 16:15:58 · 291 阅读 · 0 评论 -
rrt jar
问题:远程调试常见于Web应用的远程调试,但是有时候我们也需要对Java应用进行远程调试以发现难以察觉的错误,最常见的就是jar中引用的外部类的问题,有时候外部jar拷贝不全,导致出现NoClassDefException的错误,而我们一般也不会捕获改异常。监控端即启动jar的脚本: java -Xdebug -Xrunjdwp:transport=dt_socket,server=y...原创 2018-05-07 14:49:18 · 254 阅读 · 0 评论 -
序列号生成buge修改---超时问题,999溢出异常
超时的引发和影响 引发:1,数据量大,---优化sql,优化实现逻辑,例如:缓存和数据库定时同步-或同时更新,对比去重用缓存,最终的过滤之后的数据放在数据库中2,循环中有程序sleep----去掉sleep3,socket阻塞长链接---换nio4,网络限制 影响: 逻辑执行不完整,引发脏数据,上下游,缓存和数据数据不一致-----事物超...原创 2018-05-08 15:02:12 · 334 阅读 · 0 评论 -
事物的传播策略--控制回滚的粒度,事物的隔离控制事物的并发---类似lock
事务隔离级别事物的隔离控制事物的并发---类似lock隔离级别是指若干个并发的事务之间的隔离程度。TransactionDefinition 接口中定义了五个表示隔离级别的常量:TransactionDefinition.ISOLATION_DEFAULT:这是默认值,表示使用底层数据库的默认隔离级别。对大部分数据库而言,通常这值就是TransactionDefinition.IS...原创 2018-05-11 14:19:22 · 174 阅读 · 0 评论 -
复杂需求的设计处理--五级之内发展的下线名单的归属
复杂需求的设计处理: 需求---建立程序中对应的模型过程(论证)----开发关键技术(业务可行性)论证---开发 快速反应需求变更,快速编码 1,理清原逻辑2,抛开原逻辑,单独针对变更指定步骤3,整合原逻辑和新的逻辑--模型论证,技术论证4,sql,代码参照网上现有的 数据库设计的时候,注意冗余关联,三范式拆小表 (高并发的分流...原创 2018-05-28 16:57:12 · 136 阅读 · 0 评论 -
catch里面有return语句,finally里面的执行
会执行,在return前执行,后返回return处,如果finally自身有return就自身向下,不返回原return处执行代码示例1: /* * */public class FinallyDemo2 { public static void main(String[] args) { System.out.println(getInt...原创 2018-06-22 11:04:48 · 483 阅读 · 0 评论 -
海量数据的优化思路
海量数据的优化思路 1,业务上实现逻辑优化2,sql优化加索引---条件字段,left join on字段,查询的列尽量少(在自连接的时候有重复的数据(连接字段值重复)会指数级的增加连接,索引也打折扣)3,用java list分页结合future分几页就发出几个线程同步执行,然后futue.get()等待都返回往下执行4,用存储过程实现复杂的逻辑,大量数据业务5,...原创 2018-07-23 15:53:43 · 413 阅读 · 0 评论