自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 JAVA常识整理

1、JVM结构:类加载器子系统、运行时数据区(内存空间)、执行引擎以及与本地方法接口等组成。其中运行时数据区又由方法区、堆、Java栈、PC寄存器、本地方法栈组成。内存空间中方法区和堆是所有Java线程共享的,而Java栈、本地方法栈、PC寄存器则由每个线程私有。2、Java栈:由栈帧组成,一个帧对应一个方法调用。调用方法时压入栈帧,方法返回时弹出栈帧并抛弃。Java栈的主要任务是存储方法参数、局部

2017-02-22 10:23:59 1178

原创 微信红包算法研究

背景:之前过年亲戚人都在抢红包,都想抢第一个,说是越早抢越大。其实这肯定是不正确的,微信在你发红包的时候应该已经生成所有的红包了,所以说你无论第几个抢,按说应该都一样,除非微信做了一些处理,比如说越早抢红包越可能手气最佳,过完年回来上班,突然想起了微信红包,就在想微信红包生成的策略。20块钱10个红包,人均2块钱。因为理论上红包的金额应该在2块钱左右,而且越大概率越小,感觉这个很像正太分布函数,所以

2017-02-19 23:50:40 6149

原创 算法研究:已知不重复的int集合,求最长递增子序列

问题背景:最近换工作面试,面试官问了一道编程题,大体是已知不重复的int集合,求最长递增子集合,这个集合可以不是连续的,但顺序呢不能乱。比如说:{2, 7, 3, 13, 6, 8}里最长递增子集合的就是{2,3,6,8}。这道题感觉很有意思,于是回家就用代码实现了一遍。主要代码:package com.galaxy.fym.algorithm.maxsublist;import org.apach

2017-02-16 23:18:29 427

原创 HashMap

1、HashMap底层实现其实是一个数组,每个数组的元素是Entry final int hash; final K key; V value; Node<K,V> next;2、Java中HashMap是利用“拉链法”处理HashCode的碰撞问题。在调用HashMap的put方法或get方法时,都会首先调用hashcode方法,去查找

2017-02-08 14:52:01 411

原创 JAVA值传递

在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在堆中产生了一个数组或者对象后,还可以在栈中定义一个特殊的变量

2017-02-05 11:33:23 316

原创 数组和链表的区别

1、数组的存储空间是一大片连续的,链表的存储空间是不定的,每个链表的节点元素都会存储该节点的数据和下个节点的地址指向。数组初使化必须制定大小,而链表却不需要便是这个原因。2、就增删改查而言,数组因为地址是连续的,所以数组的查询修改很快,但是增删的时候由于需要移动后面所有的元素反而较慢,对应的链表在查询的时候由于需要从第一个元素开始,直到找到你想要的元素,反而在增删的时候只需要修改对应节点的指针就可以

2017-02-01 16:05:56 2006

原创 JAVA 异常Exception 浅析

Exception:一般是java用来表示程序出现的异常,像NumberFormatException等由于程序导致的异常。Error:一般则是由系统级出现的错误导致的,栈溢出:StackOverFlowErrorOutOfMemor、内存溢出:OutOfMemoryError都属于系统异常。在Exception里,也分为检查异常和非检查异常,检查异常时必须try catch捕捉或者方法抛出异常才可

2017-01-15 13:47:24 516

原创 spring mybatis事务回滚配置

1、配置mybatis数据源<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.spring

2017-01-13 17:11:05 21107 3

原创 java static关键字 以及使用注意事项

static关键字

2016-12-15 10:41:30 704

原创 mac下使用java命令直接执行类文件(找不到或无法加载主类)

首先你得安装java,直接去oracle下载java的安装包下载链接环境变量配置(没有.bash_profile就自己建立一个)cd ~ls -lfvi .bash_profile下面是我的java环境变量的配置#java配置export JAVA_HOME_7=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Homeex

2016-12-12 12:01:27 14312 3

原创 Web开发-缓存穿透 缓存并发 缓存雪崩等一系列开发常见的缓存常识

作为WEB开发人员,缓存是最基本也是最常用的知识了,开发中在实现业务的时候总会通过缓存来实现功能,但是如果你用了缓存,你就得注意缓存带来的一系列隐藏的问题。比如说缓存穿透、缓存雪崩、缓存并发、缓存一致性等问题,下面我介绍一下开发中对这些问题我的解决方法。

2016-12-11 23:06:34 2410

原创 如何实现 :双栈实现队列 双队列实现栈

看代码就懂咯package com.galaxy.fym.queueandstack;/** * Created by fengyiming on 2016/12/7. */public class TwoStackToQueue { private StackTest stackTest1 = new StackTest(); private StackTest stackTes

2016-12-08 00:20:24 784

原创 spring mvc通过拦截器加载会员信息 HandlerInterceptor妙用

最近项目里发现一个问题,在有些http接口里不仅需要登录的验证,还得需要时ERP会员的注册用户,同时需要两种用户信息,而且在这些http接口里可能还需要使用到用户ERP会员的绑定手机号,所及在这里重新设计的spring的拦截器,通过子路径的方式来完成二级会员信息的验证,但是又需要在后面的业务处理需要使用会员信息,所以将会员信息在拦截器里写入session里,在拦截器的结束的时候将session里的信

2016-12-06 20:49:13 1950

原创 如何跨公众号进行微信支付(appid and openid not match)

appid and openid not match问题最近,运营发现在我们公司A公众号下授权登录的用户在微信里访问我们的H5官网时,无法进行支付,主要原因是付款时是B公众号的账户。问题描述:由于业务问题,往往一个电商平台可能会有多个公众号,这些公众号可能用的是同一个微信联合登录接口,但是在提交订单的时候微信支付是需要验证APPID与OPENID的关联性,也就是说微信授权登录的公众号与结算的微信公众

2016-11-10 23:41:02 43964 2

原创 dubbo 知识总结 dubbo配置参考

dubbo官方文档项目的规模越来越大,总得解耦,不能在一个项目里,这时候,公司采用了dubbo作为分布式应用,将多项业务拆分,并做了库存服务统一、价格服务统一等等一些特殊需要统一性的服务。作为dubbo我也接触了快一年的时间,总会有一些自己的对dubbo的想法。下面是对dubbo的说明:节点角色说明: Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务

2016-11-03 21:11:32 51420 11

原创 Apache zookeeper 小试牛刀

公司项目都是基本zookeeper作为发现机制,一直很想试一试win系统启动项目时需要注意的问题win下与linux的区别主要是注意路径里的转义字符\,win下得用/或者\,另外注意启动至直接zkServer.cmd就可以了,另外叉掉dos窗口就可以中断进程了,你不用费心思如何查怎么停止zookeeper程序了,其他的没什么坑了,按照网上教程就可以了网上教程zkEnv.cmd@echo offRE

2016-11-03 21:09:56 416

原创 QQ微信微博联合登录流程总结

第三方联合登录一般可以降低网站的获客成本,所以一般的网站都会做一些联合登录,常用的就是QQ、微信、微博了,下面简单的介绍一下这些联合登录的方法。看了一号店的QQ登录源码可知,点击图标直接访问的是这个链接 https://passport.yhd.com/qq/login.do?tp=2.0.0.0.0.LWyye4h-10-C`toe&ti=H2H3VT 它首先请求的是自己网站的请求,后面那两个

2016-11-03 20:41:38 7185

原创 网站XSS漏洞攻击如何修补

因为兄弟我是在360下的一家电商网站上班,所以不可避免的就经常被360安全部门“照顾”了,公司邮箱里经常会收到漏洞攻击的邮件,很佩服那些能找到这些漏洞的人,但是佩服归佩服,漏洞总得给补上吧,下面我介绍常用的xss攻击漏洞该如何修补。明天写,今天先把题目起好……..

2016-11-02 21:46:37 1071

原创 阿里云CDN刷新预热接口-黑科技

一般追求体验和速度的网站都会使用CDN技术,下面就说一下常用的阿里云CDN,但是CDN就不可避免的需要去刷新指定文件或者文件夹的缓存,但阿里云后台的管理员账号密码不是一般人能访问的,手动刷新效率也很低,所以往往需要项目里可以直接刷新CDN缓存。阿里云官方文档你以为就这一点点参数就可以了吗?你们可以看看这位仁兄写的代码这位兄弟写的代码官方的调用方式为什么那位仁兄写这么多代码呢,主要是为了这些公共参数

2016-11-01 23:03:13 8443 1

原创 WEB开发的一些基础知识

1、代理与反向代理的区别 代理一般是指客户端如果想访问服务器B的话,由于网络不通或者路由太多不是直接访问服务器B,而是通过代理服务器Z来直接访问服务器B,类似的应用一般有CDN、VPN等技术。反向代理正好相反,比如客户端A访问的最终是服务器B,但是往往其实在服务器Z,在客户端A眼里,服务器Z就是服务器B。类似的应用最多的就是nginx,通过域名访问来实现负载均衡。 参考来源2、

2016-10-27 22:00:16 324

原创 JAVA如何定义和书写业务级interface代码

业务级interface

2016-10-27 10:48:10 2142

原创 常用开发环境配置问题

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-10-12 21:30:37 462

原创 Java多线程

首先要定义一个线程池来跑管理你的线程 private ExecutorService poolExecutorService = Executors.newFixedThreadPool(10);定义一个监控线程数量的值,用来保证每个线程都跑完了CountDownLatch begin = new CountDownLatch(size);然后用Future 接收每个线程返回的数据Future

2016-09-14 16:54:08 228

原创 Java基础知识

1、volatile关键字,无锁同步使用的关键字,被volatile描述的关键字,程序在执行的时候强制读取的是cpu内存里的数据2、除了String类的字面常量会用到常量池,Java基础类型的包装类也会用到常量池,包括Byte,Short,Integer,Long,Character,Boolean;要注意Byte,Short,Integer,Long,Character这5种整型的包装类也只是在对

2016-08-25 17:35:36 400

原创 spring定时任务如何运行 schedule解析

经过长时间的研究spirng的源码,发现如果仅仅只是在xml里配置定时任务或者通过注解来实现配置定时任务的话,无需依赖spring-context-support包,这个包里所含的scheduling包都是为了集成quartz的,而spirng其实只用了spring-context的scheduling包。下面解读一下spring是如何解析我们的配置并且运行的简单的配置一下定时任务<?xml ver

2016-08-25 14:04:41 7334 2

原创 解析Spring mvc 项目的所有http请求

结合自己的注解完成spring mvc项目里对所有action请求的解析,主要是反射和注解的使用 代码如果看不懂,可以关注我的git,以后会写一个能够产生htpp接口甚至接口的文档我的git项目源码package com.galaxy.fym.common;import com.galaxy.fym.model.*;import org.apache.commons.collections.Co

2016-08-17 10:30:48 853 1

原创 Spring mvc为何不能直接传递集合参数

1、@RequestMapping 里的path和value启的作用是一样的,因为value是@interface不加属性说明@RequestMapping(“”)这样默认的赋值的字段,所有@RequestMapping会有个value,path与value不能同时存在2、spring 方法的入参是不能为接口的,比如说不能直接传递一个List<>进来@RequestMapping("test2")

2016-08-17 10:27:23 1846 1

原创 JAVA常用自定义的注解使用

@Deprecated 一般表示该方法可能在以后的版本不用了@Retention 注释类型的注释要保留多久,可配置RetentionPolicy类型的数据,只能配置一种package java.lang.annotation;public enum RetentionPolicy { /** * Annotations are to be discarded by the comp

2016-08-09 18:01:49 437

原创 git工具学习

1、上传代码先执行 git add .(或者仅选定一个文件) 与 git commit -m ” ” ,不然会提示错误在git push 时会提示Everything up-to-date2、git config –global credential.helper store 保存密码,不用每次输入账号密码 参考来源

2016-08-05 11:54:09 283

原创 JAVA反射机制

1、field的isAccessible()方法并不能用来判定该属性是否为public类型

2016-08-01 11:23:53 371

原创 常用工具类的介绍

1、StringUtils.join()可以直接将一个String[]转化为String,这里我用的是package org.apache.commons.lang提供的StringUtils工具类

2016-07-29 11:42:32 337

原创 spring quartz 初级配置

第一种方法通过xml配置的方式来管理定时任务,配置繁琐,但是统一管理 <!-- 第一种方法 start --> <!-- job 的包 加载定时任务实现类--> <context:component-scan base-package="com.galaxy.fym.job"></context:component-scan> <!-- 任务调度器配置 配置任务线性池

2016-07-26 16:45:42 430

原创 Compareble 接口与Comparator接口使用示例

直接上代码package com.galaxy.fym.model;import java.util.Comparator;/** * Created by fengyiming on 2016/7/25. */public class FymComparator{ public Integer key; public String value; public FymComp

2016-07-26 10:02:11 548

原创 tomact启动报错 java.lang.OutOfMemoryError ( PermGen space)

tomact内存不够,给tomact启动时加点内存增加以下配置内存溢出:-Xms258m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m

2016-07-25 10:12:36 613

原创 读取项目里含指定注解的方法 @interface妙用

package com.galaxy.mobile.api;import com.galaxy.mobile.api.config.ApiAction;import com.galaxy.mobile.common.utils.StringUtils;import org.apache.commons.collections.CollectionUtils;import org.apache.

2016-07-19 14:30:53 1819

原创 JAVA web项目返回excel文件的方法

服务端代码:记得引poi3.8的包@RequestMapping("exportFile") public void exportFile(HttpServletRequest request, HttpServletResponse response){ try{ String fileName = "findMedicine.xlsx";

2016-07-07 10:32:05 3929

原创 spring 4.2.3返回视图(jsp/vm)或者json

web.xml配置<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocatio

2016-06-28 15:03:48 658

原创 logback使用

1、需要引入maven配置 ch.qos.logback logback-classic 1.0.0 这个会依赖slf4j-api和logback-core。2、LoggerFactory.getLogger()方法可以传递两种参数。自己起的名字和类.class。主

2016-06-24 15:09:15 1147 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除