- 博客(142)
- 资源 (3)
- 收藏
- 关注
原创 面试题:遍历三颗相连的满二叉树
思路:一颗没毛病,就前序遍历就OK, 三颗也一样,但是要考虑到遍历根节点时死循环问题,方式为:如果一个节点是根节点,则设置标识, 并且只记录。题目:三颗满二叉树,他们的根节点互为父节点,从任意节点遍历整颗二叉树。不能 给节点添加额外属性。要求:不能使用外部变量、集合等。
2024-08-27 23:05:12 259
原创 n*n矩阵,输出矩阵中任意两点之间所有路径
题目1:给你一个正整数n, 构造一个n*n的四项链表矩阵。题目2:基于题目1, 在n*n链表矩阵中,输出矩阵中任意两点之间所有路径。
2024-08-27 22:51:11 713
原创 Dubbo Zookeeper windows下多网卡选择问题
个人pc如果安装了多个网卡,比如我本地装了VMWare, 那么在网络共享中心会看到VMWare的两张网卡,加上我的wlan一共三个启用的。dubbo 服务方在将自身注册到注册中心时,如果本地存在多个网卡会有一个选择方法,这个选择方法也与windows自身的设置有关。如果选择到了vmware的网卡,那vmware网卡ip对于局域网其他机器是不可访问的。遇到这种情况有两种方法:1. 服务方直接指定注册ip (dubbo.protocol.host)2. 修改windows或linux..
2021-05-19 16:17:03 1598
原创 JS递归拼装树形结构的表格
数据格式: [{"id":2, "pid":1, "children":[{...},{...}]},{"id":3, "pid":1, "children":[{...},{...}]},.......]注意: 下面的样例数据没有children属性,children属性是在程序代码生成的,下面的样例数据只是简单的从数据库查,未做任何处理,如果实际中数据库查出来的就是树形结构的数据,js
2018-03-18 13:31:10 8916
原创 freemarker生成world转PDF转SWF,加载到浏览器.解决最终浏览器加载的是xml代码的问题.
freemarker生成world转PDF转SWF,加载到浏览器.解决最终浏览器加载的是xml代码的问题.首先说一下需求:动态生成world,客户可在浏览器预览freemarker动态生成的world文档.失败的解决方法: 1. world转xml, 编辑xml,用${}替换动态改变的值。2. freemarker动态替换${}占位符的值, 更改后缀名为doc。3. 系统安装o
2017-12-15 15:44:26 1114
原创 解决 No Hibernate Session bound to thread, and configuration does not allow。
错误原因: hibernate session未绑定到当前线程,或者更一般的说service层未增强事物控制。解决办法:1. 第一个可能原因,请注意匹配你的service方法开头,其他用 * 通配。2. 报这个错误一般你的框架是SSH , 及 springmvc spirng hibernate,引用:http://blog.csdn.net/z69183787/article
2017-11-08 20:43:21 17091
原创 Java多线程导出,单线程压缩
1.客户端网页下载文件, 如果文件比较大,后台要进行压缩在传输给客户端。2.后台进行压缩以后,要保存到服务器硬盘上, 当下次请求下载,则直接传输。3.当请求下载的压缩文件不存在,需要查询数据,生成csv,最后将多个文件进行压缩保存到服务器硬盘上。4.多线程进行查询,单线程进行压缩。先看一个方法: public String accountingVerificat
2017-04-24 18:02:32 1841
原创 window批处理 备份压缩指定时间的文件到backup目录
rem setlocal enabledelayedexpansion 可以将文件时间赋值给变量@echo off&setlocal enabledelayedexpansioncd C:\backup\set currYear=%date:~0,4%set currMon=%date:~5,2%set currDay=%date:~8,2%set curr=%currYear%%
2017-04-24 17:46:53 3159
原创 Html5 Websocket while死循环的问题
websocket的原理,前台/后台的实现就不说了,现在说一个应用过程中的问题, 首先来看几个问题的引出 。1. 页面初始化var Socket = new WebSocket(url, [protocol] ); 这样会在服务端开启一个线程来相应websocket请求, 高性能,速度快,多例. 像struts2的action,每个请求就会开启一个线程来处理.2.
2016-12-26 22:17:12 4592
原创 Sqlserver数据库通知应用程序
现在有这么个需求,说是数据库的某些数据一旦有变化,立刻通知应用程序(Java Web项目) 应用程序即使调整信息以展示到大屏幕上.解决办法大概有这么两个:1. 因为项目是用的java , 可以弄个定时(java的定时或者spring的定时都可以) , 达到长时间轮训数据库, 一旦数据变化就可以更新大屏幕信息. 检测数据是否变化可以在表上加触发器,一旦修改或删除 新增等, 则记录一个最新
2016-09-21 10:38:08 5428
原创 java yield的简单使用
package yi.test01;/** * 2016年9月13日10:59:07 * @author yangwl * * yield * 休眠当前线程, 是线程编程可执行状态,以便其他相同优先级的线程有机会执行, * 注意: 再次执行调度程序决定的, 可以立刻会再次执行。。。 * * yield会释放资源锁吗? * yield
2016-09-13 17:07:33 4143
原创 java join的使用
package yi.test01;/** * 2016年9月13日10:47:09 * @author yangwl * * join方法: * join方法时让某个线程等待调用了join方法的线程结束后再继续执行 */public class Test02 { public static void main(String[] args) throws Interrup
2016-09-13 17:06:03 448
原创 Java synchronized 非静态方法 静态方法的区别
package yi.test01;/** * @author yangwl * * * synchronized作用于静态方法和非静态方法的区别: * 非静态方法: * 给对象加锁(可以理解为给这个对象的内存上锁,注意 只是这块内存,其他同类对象都会有各自的内存锁),这时候 * 在其他一个以上线程中执行该对象的这个同步方法(注意:是该对象)就会产生互斥 *
2016-09-13 17:04:47 3643 1
原创 java wait和notify 简单理解
/** * @author yangwl * * wait noify noifyall * 注意 : 因为涉及到对象锁,他们必须都放在synchronized中来使用. * wait和notify大概可以理解:当多个线程对公共资源同时访问时,人为有意的控制线程访问的顺序.以达到我们的目的, * 那么,这时候,锁对象就是这个公共资源了.怎么表示一个线程获得了这个锁呢
2016-09-13 17:01:40 2252
原创 Web项目,UTF-8编码,需要修改的几个地方
1. 如果用的Tomcat ,请修改server.xml 中Connector URIEncoding="UTF-8" (GET请求时)2. 用字符编码过滤器,设置默认编码方式为UTF-8 .(POST请求时) 如: encodingFilter org.springframework.web.filter.CharacterEncodingFilter
2016-07-19 15:31:41 5038
原创 微信&java 开发7 js sdk 获取签名 signature
在前面的章节 如果全局缓存了 access_token和 jsapi_ticket的话 这里直接获取springmvc 中@RequestMapping(value = "/gotoWtjb") public ModelAndView gotoWtjb(HttpServletRequest request, HttpServletResponse respons
2016-05-12 13:45:25 3895 1
原创 微信&java 开发6 全局缓存access_token与jsapi_ticket
access_token与jsapi_ticket 需要全局缓存为什么我就不说了,既然来看了就应该知道了我用的是spring容器加载完毕后监听器,就是容器加载完毕调用 ApplicationListener这样可以获取access_token jsapi_ticket 缓存到servletcontext中(servletcontext全局容易 全局唯一 全局共享)首先看一下全局serv
2016-05-12 13:40:53 11416 8
原创 微信&java 开发5 jsapi_ticket的获取
在前面的内容中,如果可以正确得到access_token的话,传进来就可以了jsapi_ticket 是以后用js sdk的前提public static JsApiTicket getJsApiTicket(String accessToken) { JsApiTicket jsApiTicket = null; String requestUrl = JSAPI_TICKET
2016-05-12 13:29:58 4270
原创 微信&java 开发4 access_token获取
首先你得有url吧public final static String access_token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";/** * 获取access_token * * @param
2016-05-12 13:27:24 3936
原创 微信&java 开发3 菜单接口
初始化菜单首先要获取accesstoken,关于accesstoken的获取和缓存在下面和后面的文章中介绍public class WeixinTest { public static void main(String[] args) { try { AccessToken token = WeixinUtil.getAccessToken(); System.out.pri
2016-05-12 13:23:12 780 1
原创 微信&java 开发2 发送文本消息并回复
因为用的是springmvc首先看一下统一接收接口,dispatchWeiXinRequest发放用于区别get还是post@RequestMapping(value = "/dispatcher") @ResponseBody public void dispatcher(HttpServletRequest request,HttpServletResponse response)
2016-05-12 13:15:59 1105
原创 微信&java 开发1 平台接入
微信平台接入: 微信平台官网上配置上url和token,点击提交时,平台会想你的项目所在的服务器发送一个get接入请求,正常直接返回echostr就可以,但很多情况下需要校验一下签名,以下是springmvc接收请求 private void doGet(HttpServletRequest request, HttpServletResponse response) { String
2016-05-12 13:07:09 769
原创 JavaScript界面演示 快速排序
不管用什么语言, 思想都一样做这个首先的会快速排序,这里不解释了,只是走出页面效果注意: 如果把一条一条div放入数组,那么div交换位置的时候, 注意数组的处理,需要保存左面或右边的left值, 一边下次while的left定位html 初始化 开始 先沾出来 数组
2016-04-21 18:05:41 652
原创 JavaScript界面演示 交换排序
开始 var frame = {};var divFrame = {};$(function() { /*排序的div*/ divFrame._width = "5"; divFrame.width = "5px"; /*面板*/ frame.obj = $("#right"); frame.width = $("#right").width();
2016-04-21 17:55:39 342
原创 Java 多线程
1. 线程的优先级 优先级越高, 线程得到执行的机会就越高 Thread中. * static int MAX_PRIORITY * 最高优先级 10* static int MIN_PRIORITY* 子最低优先级 1* static int NORM_PRIORITY* 默认优先级 52.线程的
2016-03-30 17:30:49 359
原创 Java 大数加减乘(无除),不含小数点
package com.algorithm;public class BigIntegerOpeator { public static void main(String[] args) { String a = "1231313432"; String b = "12312376"; String result = add(a, b); System.ou
2015-12-23 09:28:33 800
原创 Hibernate Merge (Illegal attempt to associate a collection with two open sessions)
Hibernate 错误: Illegal attempt to associate a collection with two open sessions由于hibernate中的session的特性,不允许在一个session中同时存在两个标示相同的对象也不允许同一标示的对象被两个或两个以上的session关联(当然,这个错误是后者,前者的错误:A different obj
2015-10-19 11:10:28 6103
原创 Spring AOP 循环应用(This means that said other beans do not use the final version of the bean..)
在做spring AOP时,总发现This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allow
2015-09-14 11:30:56 20392 2
原创 工厂方法与抽象工厂结合(Pizza)
工厂方法和抽象工厂作用都是一样 : 解耦客户端代码,不用指定具体类就可产生具体对象.摘自: Head First 设计模式说一下大概意思1. 在不指定具体类的情况下可产生具体披萨2.不同区域可产生不同风味的披萨3.同一区域可产生不同原料料理的披萨首先我们来定义披萨public abstract class Pizza { private Pizza
2015-08-31 13:32:04 734
原创 Matrix:The matrix in spiral order
/**Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.For example, given the following matrix:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]You s
2015-08-19 14:17:43 411
原创 Spring,SpringMVC,Mybatis (SSM)框架的搭建
转载请注明出处: 搭建SSM框架参照一下步骤:1.提供ssm所需jar包 这些jar包包括三个框架所需要的,就不一一列举所属了aopalliance-1.0.jarasm-3.3.1.jaraspectjweaver.jarc3p0-0.9.1.jarcglib-2.2.2.jarcommons-logging-1.1.1.jariText-2.1.
2015-08-18 10:56:28 15280 2
原创 Window.Event在IE与火狐(等)兼容性问题
一个简单例子:html页面:JS:function fun1(evt) {evt ? evt :window.event;var chall = evt.target ? evt.target :evt.srcElement;alert(chall.tagName)}这种情况下需要传递一个参数event事件对象,如果不想传递event时间对象该怎么写?首
2015-08-03 13:16:01 521
转载 Spring CornExpression
Spring中任务调度cronExpression配置说明cronExpression配置说明 字段 允许值 允许的特殊字符秒 0-59 , - * /分 0-59 , - * /小时 0-23 , - * /日期 1-31 , - * ? / L W C月份 1-12 或者 JAN-DEC , - * /星期 1-7 或者 SUN-SAT , - * ? / L
2015-05-08 14:46:12 1268
原创 oracle 三层嵌套分页查询
Oracle三层嵌套分页查询--table A select * from (select ta.*,rownum r from (select * from A) ta where rownum 5--注: 其实两层就可以,不过,两层嵌套查询不会用到oracle的外层条件内推机制,效率慢了点rownum原理: 很简单,rownu
2015-04-29 17:01:50 6018 2
原创 Oracle rownum原理
Rownum原理:1 Oracle executes your query. 执行查询操作2 Oracle fetches the first row and calls it row number 1.将第一行的row num置为13 Have we gotten past row number meets the criteria? If no, then Oracle
2015-04-29 16:52:26 1123
转载 Hibernate的性能优化
悲观锁与乐观锁(hibernate2007-08-06(上午).avi)使用乐观锁在表中加一个version的字段来解决并发性问题悲观锁:就是多个人同时想修改某个数据, 第一个人读出数据,数据库就锁定了其他人对该数据的修改和删除, 但允许其它人查询该数据,直到第一个人提交保存后其它人才能修改, 否则其它人在提交时系统会一直等待第一个人完成提交乐观锁:乐观锁需要在
2014-11-02 21:22:33 489
转载 struts2的性能优化
转自:http://blog.csdn.net/rick_123/article/details/6135467前一段时间有反映说是一个使用了struts2的生产系统的页面显示速度太慢。登录后发现确实如此,于是进行了一番性能调优的研究和测试 。 一,根据struts2官方的性能调优说明进行了一些参数的修改。 http://struts.apache.org/2.
2014-11-02 21:21:01 2449
原创 Hibernate的缓存
Hibernate 缓存 缓存就是把数据放在了内存,一些网站访问速度很快,一般都加了缓存,加了缓存,读取就直接在内存读取。 对于高并发的网站,一般都采用缓存,当用户保存数据时,缓存组件不会直接往数据库加数据,而是发个消息给另一个组件,让它来添数据,这样,高并发就可以解决了但是内存的东西一般不能随便用,一断电内存的数据都没了,所以设计到银行的,债务的最好不要用缓存,不安全
2014-11-01 20:05:42 496
原创 struts域驱动模式的实现
struts2 域驱动模式怎么实现的?1.ValueStack(值栈)2.OGNL(对象图导航语言) 规则: 对象.属性.属性...值栈会在运行的时候将对象压栈(默认情况下栈顶是一个Action)这时通过OGNL语言,会在栈顶按照对象.属性.属性..的规则来查找,如果栈顶元素不符合,就向下按照对象.属性.属性...查找
2014-10-19 14:55:26 987
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人