- 博客(50)
- 资源 (1)
- 收藏
- 关注
原创 从老项目改造梳理SpringIOC
Spring是做java开发一直会用的框架,其中最重要的一个特性就是IOC控制反转。对比使用Spring框架的项目和未使用Spring框架的项目可以明显察觉项目的复杂程度不一样。其中重要的一个原因是Spring将需要开发者自身维护的对象依赖关系交由SpringIOC容器管理,大大简化了项目开发和维护难度。为了更清楚的理解SpringIOC,在查看Spring Bean加载的部分源码和一些资料后,整理了如下的一些流程和问题。Spring注入Bean的方式主要有2种:一种是通过加载xml配置文件,另一种是通过
2022-01-20 17:21:10 341
原创 投顾问答系统建设方案简单介绍
简单介绍金融公司投顾系统建设方案,实际的实施处理中有很多问题需要处理和解决,特别是用户语义处理转换和大量历史数据在回测系统中的存储使用。
2022-01-11 19:15:12 1124
原创 String,StringBuilder和StringBuffer在保存数据方面的区别和原因
String,StringBuilder和StringBuffer在保存数据方面的区别和原因
2017-12-14 11:15:43 1481
原创 Mark关于mybatis的一些简单东西
来公司没多久就去培训了2周,最近两周回来做一个日志存储系统,数据库连接方面不是用的是mybatis,它简化了sql语句,使得我们不需要再大量的拼接字符串了。 mybatis上手其实挺简单的,首先需要一个mybatis-config.xml配置文件,在这个配置文件中我们主要配置了数据源信息以及对应的包含sql语句的map映射的xml。放代码。<!DOCTYPE configu
2016-08-15 20:24:14 670
转载 执行executeUpdate()时卡住不往下执行了
下午调试了三个小时,发现原来是数据库中之前做的操作没有commit,导致表被锁住不能执行!~因此,在数据库中先执行commit之后,再执行程序就没有问题了。转自执行executeUpdate()时卡住不往下执行了
2016-08-04 09:58:20 4828 1
原创 模拟登陆相关
这一周多的时间主要做一个自动登陆新浪然后刷票的工具,这里做个mark。 刚开始用java做,主要是用到java的httpclient去进行模拟登陆,在登陆新浪微博上,网上有现成的代码,可以看“java模拟登陆微博完整版”,一些逻辑上的可以看这个“微博模拟登陆研究”,但是我并不是要模拟登陆新浪微博,我需要登陆的是“调查汇总页”,在这里我参考“微博模拟登陆研究”所说的过程研究了登陆过程中传
2016-07-15 09:31:38 459
原创 java精度运算——BigDecimal
lz在做实验的时候由于实验精度要求很高,然后无论是double还是float类型都不能处理,因而选用BigDecimal。BigDecimal是java中Math包提供的一个类,就是用来处理超过16位有效位数的运算的。double,float可以处理16位以内的数运算。由于BigDecimal创建的是一个对象,因此我们不能用一般的+、-、*、/来对这些对象进行运算,BigDecimal提供了对
2016-04-27 21:12:48 484
转载 启动Tomcat提示:指定的服务未安装
新下载的Tomcat7.0 解压缩完了运行tomcat7.exe屏幕一闪就没了 运行tomcat7w.exe弹出个筐指定的服务并未以已安装的服务存在 Unable to open the Service 'tomcat6'我安装了tomcat7,双击startup.bat可以正常启动Tomcat,也可以显示http://localhost:8080/,但是貌似安装版的不好用。卸载之后,
2015-12-31 14:11:54 1458
转载 HashMap与ConcurrentHashMap的区别
转自HashMap与ConcurrentHashMap的区别从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能
2015-09-27 21:25:07 430
转载 找出一堆数据中最大或者最小的K个数
转自找出一堆数据中最大或者最小的K个数用容量为K的最小堆来存储最大的K个数,最小堆的堆顶元素就是最大K个数中最小的一个。每次考虑一个新的元素时,将其与堆顶的元素进行比较,只有当它大于堆顶元素时,才用其替换堆顶元素,并更新最小堆。时间复杂度为O(N*logK)。找出最大的K个数方法是建立一个有K个数的最小堆。[cpp] view plainco
2015-09-07 21:14:59 1228
原创 腾讯2016测试开发岗笔试题--数组中出现次数超过一半的数字
题目:春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。思路:这题其实就是剑指offer上的第29题,书上给了两种思路,一个是排序后的中位数,一个是利用规律,即它出现的次数比其他所有数字出现的次数的和还要多。package org.alg
2015-09-07 20:53:48 790
原创 2016腾讯测试开发岗笔试编程第一题
题目: 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code)。请编写一个函数,使用递归方法生成N位的格雷码,并且保证这个函数的健壮性。思路:首先格雷码有这样的一个特点就是更多一位的格雷码是在前一位格雷码前面加上0和1的,举个例子就是1位的格雷码有0和1,那么2位的格雷码就是在0前面加上0和1,在1前面加上0和1,也就是00,01,10,
2015-09-07 19:04:21 2490 1
转载 MySQL索引原理及慢查询优化
转自美团技术团队博客《MySQL索引原理及慢查询优化》MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插
2015-09-05 11:23:28 427
原创 华为机试题
我做的三道题分别是”字符串识别和过滤“、“完美数字”、“拼音翻译为阿拉伯数字”。1、字符串识别和过滤要删除字符串中出现的连续重复的字符,例如aaaaa,输出a;输入格式:6,aaaaaa输出格式:aimport java.util.Scanner;public class Main { public static void Print(String st
2015-08-31 11:06:01 491
原创 国泰实习小结
在国泰实习了大约2个月的时间,其实是真的很愉快,国泰的氛围比想象的要好太多了,老大是真的超棒,很好相处,一起实习的小伙伴们也是超有爱的,这真是一段愉快的经历。这段时间在国泰主要做的工作是协助开发Android版国泰开户App,实际上到国泰去之前我是根本没碰过Android的,但是读了这么多年的书,学习用一些东西还是很快的,特别是Android的语法都是java的。期间协助一个版本的App上线,
2015-08-30 20:57:24 1549 1
转载 equal()和HashCode()比较
引用http://blog.sina.com.cn/s/blog_59e0c16f0100xne7.html1.为什么要重载equal()?因为Object的equal()默认是比较两个对象的引用,意思就是指向同一内存的,相等,否则不相等。如果需要利用对象里面的值来判断是否相等则需要重载equal()。2.为什么要重载HashCode()?一般不需要重载Hash
2015-08-27 09:27:41 3094 5
转载 java迭代器
转自Java迭代器迭代器是一种模式,它可以使得对于序列类型的数据结构的遍历行为与被遍历的对象分离,即我们无需关心该序列的底层结构是什么样子的。只要拿到这个对象,使用迭代器就可以遍历这个对象的内部.1.Iterator Java提供一个专门的迭代器>Iterator,我们可以对某个序列实现该interface,来提供标准的Java迭代器。Iterator
2015-08-26 16:13:51 464
原创 数据库优化
数据库优化的问题也是面试可能会问到的问题,据我所知,华为,cvte都问到过这个问题。数据库优化一般从四个方面出发:数据库设计、sql语句优化、数据库参数配置、恰当的硬件资源和操作系统,这个顺序也表现了这四个方面对性能的影响。一、数据库设计1.适度的反范式,达到适度冗余的效果,避免数据库查询的时候join很多表,导致查询效率低。2.适当建立索引,索引可以大
2015-08-25 23:03:51 527
原创 SQL Join —— 左联接、右联接、内联接等
今天听到有位童鞋说cvte面试问到数据库左联接、右联接的问题了,才发现自己不知道,所以总结了下。如果我们想在两个或以上的表获取其中从一个表中的行与另一个表中的行匹配的数据,这时我们应该考虑使用Join,因为Join具备联接表或函数进行查询的特性。举个例子,有两个表学校表(school)和教师表(teacher)school(num,name,leader)num:学校编号;name
2015-08-25 20:47:26 708
原创 阿里2015笔试附加题-一个数组中存在一组数字,其中有一个数字重复3遍,其他2遍,在O(1)空间找到那个重复3次的数
题目就如标题,还要求时间尽可能短。这一题类似于LeetCode上的SingleNum那题,思路是将所有数字进行异或操作,最后剩下的那个数字就是重复3遍的。代码如下:package test2;public class test2 { public static int getNum(int[] array){ int result = 0;
2015-08-24 09:54:30 1182 3
转载 数据库索引的作用和优点缺点
转自数据库索引的作用和优点缺点 1.索引的作用和优点为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序 子句
2015-08-22 10:36:03 370
转载 java集合
转自关于Java集合的小抄 ListArrayList以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。按数组下标访问元素--get(i)/set(i,e) 的性能很高,这是数组的基本优势。直接在数组末尾加入元
2015-08-21 20:23:46 327
转载 Java IO体系结构
转自 Java之IO类的体系结构Java中IO操作主要是指使用Java进行输入,输出操作,Java中所有的操作类都存放在Java.io包中,在使用时需要导入此包。 在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable.掌握了这些IO
2015-08-21 19:17:31 365
原创 最长连续公共最长子序列
阿里笔试题:给定一个 query 和一个 text,均由小写字母组成。要求在 text 中找出以同样的顺序连 续出现在 query 中的最长连续字母序列的长度。例如, query 为“acbac”,text 为 “acaccbabb”,那么 text 中的“cba”为最长的连续出现在 query 中的字母序列,因此, 返回结果应该为其长度 3。请注意程序效率。思路:首先逐个比较两个字符串,建立关系二
2015-08-21 14:37:08 677
转载 mysql数据库索引
转载自MySql索引1、概述MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。索引的本质: MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 我们知道,数据库查询是
2015-08-21 10:16:29 611
原创 写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。
用递归求二叉树的最大值和最小值。package test;class BinaryTreeNode { private int value; private BinaryTreeNode left; private BinaryTreeNode right; public BinaryTreeNode() { } public BinaryT
2015-08-20 13:52:09 1189
原创 java 中的 wait()方法和 sleep()方法的区别是什么?
对于sleep()方法,它是属于Thread类中的。而wait()方法,则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu给其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用not
2015-08-20 09:26:46 360
转载 android屏幕适配不同的资源图片、布局
1、 资源图片的适配: 在android 2.1版本之前,存放资源图片的文件夹名称为drawable,应用程序用到的所有的资源图片都放在其中,所以很难解决不同屏幕大小的图片适配问题。自android 2.1版本开始,存放资源图片的文件夹由原来的一个drawable文件夹变成了drawable-hdpi、drawable-mdpi和drawable-ldpi,这是为了支持不同终端设备
2015-08-10 17:57:44 445
原创 如何在eclipse中导入两个相同的工程
找到工程的.project文件打开。<?xml version="1.0" encoding="UTF-8"?><projectDescription> <name>test-2</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand>
2015-07-30 13:54:44 6499
原创 java垃圾回收机制
垃圾回收机制是java的一个重要的特点,也是java面试中经常被问到的一点。首先考虑GC就要考虑3点:一、哪些内存需要回收;二、内存应该在什么时候回收;三、内存应该被如何回收。 一、哪些内存需要回收 我们知道java中除了8种基本类型(byte(1个字节)、char(2个字节)、int(4个字节)、short(2个字节)、long(8个字节)、double(8个字节)、float(4个字节)、b
2015-07-29 10:05:11 467
转载 Android项目中引用到其他工程
有的时候我们需要在现有的项目中引用到其他项目的资源和文件,当然我们可以将被引用的工程打成jar包,但是这有个缺点就是,这个改动比较麻烦,除非是被引用的工程的资源和源程序文件不再改动,可以这样做,否则每修改一次被引用的工程,就要从新打一次jar包,很是浪费时间的.下面就介绍两种非打包形式的导入其他工程的方法 方法一: 在项目中我们可能遇到这样的需求,那就是在我们的Android工程A中,需要引用其
2015-07-28 16:14:52 349
原创 android开发-简单动画3
前面两种方法有个明显的缺点就是当背景是透明的情况下就会出现画出的东西擦除不掉,因为擦除方法都是利用重新刷新背景颜色产生的效果。那么这时候这个方法就很适合了,就是利用多张图片连续播放产生动画效果。而且也排除了那种边框不规则导致的绘画问题。 放一些这样的图片在drawable中,图片的名字必须是字符或者下划线开头,我这里的图片名字都是anim_1等等,然后加一个相关的xml文件,我这里的xml文件名为
2015-07-24 17:47:06 473
原创 android开发-简单动画2
前面一篇写的是利用postInvalidate函数和onDraw函数来实现简单动画的,这里要说的第二种方法我感觉比较类似,是利用擦除函数来完成这个简单动画的制作。简单的说就是先利用和上一篇中一样的Paint(画笔),Canvas(画布)这些类来进行绘画,然后在进行下次绘画之前将前面一次的绘画擦除,在进行新的绘画,在时间很快的情况下就是一个简单的动画了,擦除绘画就是将画布的颜色恢复就行。个人觉得这和前
2015-07-24 17:00:35 365
docker1.7为低版本linux系统,包括redhat6.5等
2019-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人