
java面试
每天开心成为别人的望尘莫及
这个作者很懒,什么都没留下…
展开
-
XXL-Job学习2 (开始入门)
XXL-Job1 框架触发器:什么时候做任务执行器:做哪些任务任务:业务逻辑数据库中存放哪些数据?触发器的数据、执行器的数据、任务的数据原创 2021-04-04 14:46:09 · 298 阅读 · 0 评论 -
(未完)p2p金融+技术选型
各自的概念、优点(与同类技术相比)、缺点,为什么选这个技术?SpringSpring MVCDubboZookeeperMybatisRedis原创 2019-08-25 12:00:52 · 199 阅读 · 0 评论 -
一、为什么ArrayList是线程不安全的?
参考:https://blog.youkuaiyun.com/jiaochunyu1992/article/details/51177373/版权声明:本文为优快云博主「程序员科比」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/jiaochunyu1992/article/details/51177373/首...原创 2019-08-24 10:18:24 · 474 阅读 · 0 评论 -
p2p金融项目+注册
功能:注册register.jsp realName.jsp在register.jsp页面,有三步: 注册 --> 实名认证 -->完成注册这里有个图形验证码(图形:这是一个图片链接)一、图形验证码p2p-web中JCaptchaCo...原创 2019-08-23 23:26:46 · 494 阅读 · 0 评论 -
p2p金融项目+定时器+生成收益记录
一、功能来源(为什么会有这个功能)答:一个产品,任何时候都有可能会被购买,即:任何时间都有可能产生满标产品。然后把满标产品找出来,生成收益记录,这一步,用一个定时器。(在几点到几点的规定时间去生成收益记录)项目中:p2p-timer 定时器 完成的功能:生成收益计划p2p-timer 也是一个服务消费者,按照设定的周期自动地去执行,也要调p2p-dataservice里...原创 2019-08-23 11:43:51 · 436 阅读 · 0 评论 -
四、自定义ClassLoader
参考:https://blog.youkuaiyun.com/zmx729618/article/details/78606379JDK中的ClassLoader:protected synchronized Class<?> loadClass(String name,boolean resolve) throws ClassNotFoundException...原创 2019-08-05 21:30:53 · 333 阅读 · 0 评论 -
组合的算法题目
Leetcode39.组合总和参考:https://blog.youkuaiyun.com/love905661433/article/details/85250243题目给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:...原创 2019-07-12 16:42:16 · 391 阅读 · 0 评论 -
LeetCode中的那些题
目录1. 两数之和2. 两数相加3. 无重复字符的最长子串*******4.寻找两个有序数组的中位数(官方解答) :5.最长回文子串(官方解答)15. 三数之和16. 最接近的三数之和17.电话号码的字母组合解题18.四数之和19.删除链表的倒数第N个节点(官方解答)20.有效的括号(官方解答)21. 合并两个有序链表24. 两两交换链表中的...原创 2019-09-05 15:11:29 · 2463 阅读 · 0 评论 -
算法题:n个线段 m次查询
每个查询返还该点被多少线段覆盖了import java.util.ArrayList;public class n个线段m个查询 { public static class Line{ private int start; private int end ; public Line(int start , int end){...原创 2019-07-16 11:15:31 · 327 阅读 · 0 评论 -
单例模式
/** * ClassName: Singleton1 * Package: com.yangke.Design_Pattern.Singleton_单例模式 * Description:这个类可以满足基本要求, * 但是,像这样毫无线程安全保护的类,如果我们把它放入多线程的环境下, * 肯定就会出现问题了,如何解决? * * 我们首先会想到对getInstance方法加synch...原创 2019-07-04 21:57:17 · 367 阅读 · 0 评论 -
0-手写实现一个hashmap
定义一个接口,对外暴露快速存取的方法。注意MyMap接口内部定义了一个内部接口Entry。/** * 定义接口 */public interface Map<K,V> { public V put(K k , V v); public V get(K k); public int size(); public interface Entr...原创 2019-07-04 19:43:25 · 257 阅读 · 0 评论 -
经典排序算法,重写排序方法
//从小到大 public static void main(String[] args) { int [] a = {8,6,5,9,11,2,4}; kuaipai(a); for(int i = 0 ;i<a.length;i++){ System.out.println(a[i]); }...原创 2019-07-04 17:35:14 · 725 阅读 · 0 评论 -
删除链表中重复的节点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路:一次通过:/* public class ListNode { int val; ListNode next = null;...原创 2019-06-12 09:51:25 · 143 阅读 · 0 评论 -
(未完)p2p金融项目+实名认证
完成注册后,跳转到“实名认证”页面在header.jsp中,已登录 和 未登录,显示的是不一样的,所以要判断一下是否登录金额不会放到session里,因为金额变化频率比较高,放到session里的,都是不经常变的值还有index.jsp,未登录和 已登录 显示的不一样实名认证,调外部的接口:“京东万象”-->API-->金融科技--->身份核验...原创 2019-08-25 09:03:34 · 286 阅读 · 0 评论 -
(未完)7-Servlet线程安全问题
一、ServletContext、HttpSession是线程安全的;ServletRequest是非线程安全的参考:https://www.cnblogs.com/digdeep/p/4429098.html1、保存在ServletContext、HttpSession中的对象必须是线程安全的;在Java web项目中,我们经常要将一个登陆的用户保存在HttpSession中,而这个...原创 2019-08-25 09:38:03 · 325 阅读 · 0 评论 -
p2p金融项目+支付宝充值
目录前言下载服务端SDK时序图:按照支付宝时序图的过程去做:第一步:第二步--2:生成充值记录(状态:充值中)第四步:调支付宝的支付接口第七+八步:(7)get请求returnURL,返回同步返还参数;(8)Pay将同步返还参数传递给p2p-web第八步:p2p-web工程接收到Pay工程的同步返还参数后:前言如果要使用支付宝,前提是:是它的支付宝客户&...原创 2019-08-22 23:22:04 · 1075 阅读 · 1 评论 -
p2p金融项目+投资+超卖现象+乐观锁
目录前端:数据库:过程第一步:第二步:第三步但是有问题:前端:“立即投资”,输入投资金额对投资金额的要求:非0、非负、非空、100的整数倍收益金额=投资金额*利率理财:年利率;借钱:天利率本项目中:收益率=投资金额*日利率*投资天数数据库:账户表产品表:剩余可投金额投资记录表过程第一步:p2p-webBidIn...原创 2019-08-22 22:32:17 · 546 阅读 · 0 评论 -
p2p金融项目+用redis缓存:年化收益率、平台注册总人数、平台累计投资金额、用户投资排行榜
问题来源:前端有三个值需要显示:年化收益率、平台注册总人数、平台累计投资金额、用户投资排行榜如果每次都要去数据库库中查,很费时间所以:放到redis缓存里面,提高用户体验,提高用户执行效率年化收益率要想操作redis,就要连redis,用什么?我这里用的是jedis,就好比是个驱动第一步:maven依赖 <!-- spring-data-redis依赖...原创 2019-08-22 20:33:10 · 581 阅读 · 1 评论 -
微信小程序登录 + redis + 基于token的身份验证
官方时序图如下:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html图里其实说的很清楚了,清理下流程:1.前端调用wx.login()获取code值2.前端通过调用wx.getUserInfo获取iv、rawData、signature、encryptedData等加...原创 2019-08-22 19:04:46 · 6637 阅读 · 4 评论 -
微信小程序登录 + 基于token的身份验证
官方时序图如下:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html图里其实说的很清楚了,清理下流程:1.前端调用wx.login()获取code值2.前端通过调用wx.getUserInfo获取iv、rawData、signature、encryptedData等加...原创 2019-08-22 17:17:05 · 53433 阅读 · 14 评论 -
(未完)微信小程序+技术选型
Spring BootMybatisredis基于token的身份验证原创 2019-08-25 12:01:48 · 638 阅读 · 0 评论 -
链表中环的入口地址
题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。思路:该题目:可以用一个hash存储链表节点的地址,每遍历下一个节点的时候,判断该节点是否已经遍历过了HashSet存储单个元素,可以判断是否存在该元素HashSet<ListNode> set = new HashSet<ListNode>();变形题(1):如果知...原创 2019-06-12 09:35:30 · 144 阅读 · 0 评论 -
滑动窗口的最大值
题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,...原创 2019-06-12 09:08:39 · 142 阅读 · 0 评论 -
按之字形顺序打印二叉树
题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路:充分利用双端队列:思路都在注释里面了import java.util.*;/*public class TreeNode { int val = 0; TreeNode left = null; ...原创 2019-06-12 14:42:57 · 136 阅读 · 0 评论 -
对称的二叉树
题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。一次通过/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {...原创 2019-06-12 14:15:10 · 174 阅读 · 0 评论 -
142. Linked List Cycle II 找到环的起始位置
Example 1:Input: head = [3,2,0,-4], pos = 1Output: tail connects to node index 1Explanation: There is a cycle in the linked list, where tail connects to the second node.Example 2:Input: h...原创 2019-05-30 18:44:07 · 225 阅读 · 0 评论 -
148. Sort List 给链表排序
题目描述:Sort a linked list inO(nlogn) time using constant space complexity.Example 1:Input: 4->2->1->3Output: 1->2->3->4Example 2:Input: -1->5->3->4->0Outp...原创 2019-05-30 15:56:09 · 359 阅读 · 0 评论 -
739. Daily Temperatures
给定一个每日温度的数组,生成一个数组,要求:对于新数组的每个元素,是你需要等待更暖和的天数。如果接下去没有更暖的天了,那就用0替代。比如,给定数组temperatures = [73, 74, 75, 71, 69, 72, 76, 73], 你需要输出[1, 1, 4, 2, 1, 1, 0, 0].原数组第1天是73度,第2天74度是更暖和的一天,所以新数组第1元素就是1.注:数...原创 2019-05-27 15:16:41 · 171 阅读 · 0 评论 -
438. Find All Anagrams in a String 找出字符串中所有的变位词
Given a stringsand anon-emptystringp, find all the start indices ofp's anagrams ins.Strings consists of lowercase English letters only and the length of both stringssandpwill not be large...原创 2019-05-27 11:43:36 · 160 阅读 · 0 评论 -
剑指Offer
丑数public class Solution { public int GetUglyNumber_Solution(int index) { if(index==0) return 0; if(index==1) return 1; int [] res = new int [index]; res[0] = 1;...原创 2019-04-24 10:10:46 · 116 阅读 · 0 评论 -
哈希表
浅谈算法和数据结构: 十一 哈希表摘自:https://www.cnblogs.com/yangecnu/p/Introduce-Hashtable.html 在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度:可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的...转载 2019-04-19 10:10:12 · 144 阅读 · 0 评论 -
HashMap底层原理
HashMap不是线程安全的。那在哪些特定情况下会有线程安全的问题? 扩容(put)HashMap的数据结构是什么?(即:底层是怎么实现的?实现的原理是什么?)---数组、链表、红黑树JDK8对HashMap优化哪块? 数组+链表 --->数组+链表+红黑树怎么去了解它的技术本质?存储内容:key value存储结构:数组+链表+红黑树(JDK8)...原创 2019-04-26 17:03:23 · 136 阅读 · 0 评论 -
31. Next Permutation 下一个排列
题目描述;实现下一个排列,它将数字重新排列到字典上的下一个更大的数字排列。如果这种安排不可能,则必须将其重新排列为尽可能低的顺序(即按升序排序)。替换必须就地,并且仅使用恒定的额外内存。这里有些例子。输入位于左侧列中,其相应的输出位于右侧列中。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1思路:第一步:从后往前遍历,遇到后面的数字大...原创 2019-04-15 10:23:45 · 174 阅读 · 0 评论 -
LeetCode 79
class Solution { public boolean exist(char[][] board, String word) { int hang = board.length; int lie = board[0].length; int sum = 0;//记录有没有word存在,也可以记录存在的个数 //设置一...原创 2019-04-15 09:46:11 · 255 阅读 · 0 评论 -
java集合底层分析
地址:https://www.bilibili.com/video/av36579083/?spm_id_from=333.788.videocard.9分析:这种虚线意味着是一个接口这些标红的都是我们很常用的很熟悉的实现类面试的时候必考OOP 面向对象 (封装、继承、多态)这种就是一说呢,大家都知道,但是要谈理解呢,深浅就不一样了接口继承...原创 2019-04-26 14:23:52 · 226 阅读 · 0 评论 -
15. 3Sum ***
题目:Given array nums = [-1, 0, 1, 2, -1, -4],A solution set is:[ [-1, 0, 1], [-1, -1, 2]]从数组中找三个不能重复的数字,和为0。三个数从小到大排列思路:(1)深搜,然后结果(三个数)从小到大排列,但是应该会超时(2)先把原数组从小到大排列,再深搜,也会超时吧(3)第三种方法:...原创 2019-04-16 17:30:20 · 94 阅读 · 0 评论 -
二叉树与中和为某一值的路径
题目描述输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)思路:做题之前,先写个思路:先根遍历二叉树,记录前面遍历过的节点并且累计“节点和”,当遍历到根的时候,恰巧也等于给定的值,这个路径就是我们需要的,那就添加到ArrayList...原创 2019-06-06 09:24:36 · 138 阅读 · 0 评论 -
复杂链表的复制
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)思路:一、最复杂,时间复杂度是O(n*n)step1、把“指向下一个节点” 的指针都复制一遍step2、在复制随机节点,先遍历原链表看随机节点指向了第几个,就...原创 2019-06-06 14:13:43 · 100 阅读 · 0 评论 -
二叉搜索树和双向链表
题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路:首先什么叫二叉搜索树?如果一个节点的左子树不为空,那么左子树上的数字均小于该节点的值;如果右子树不为空,则右子树上的所有节点的值均大于该节点。怎么转换成一个排序的双向链表?这是一个递归的思想:中序遍历的思想:来了一个节点node, 如果有...原创 2019-06-06 15:06:03 · 125 阅读 · 0 评论 -
表示数值的字符串
题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。思路:思路都写在了注释了,有个测试样例没有通过:1a3.14解决:最后判断一下是否已经遍历到最后一个字符了。publi...原创 2019-06-11 15:19:24 · 151 阅读 · 0 评论