- 博客(52)
- 资源 (2)
- 收藏
- 关注
原创 1.用GitHub实现第三方登录
1.首先就是要去自己的GitHub上去注册一个OAuth应用,详细步骤见:https://developer.github.com/apps/building-oauth-apps/creating-an-oauth-app/2.然后就是,我们需要在用户登录时,请求用户的GitHub身份,也就是在登录时,响应的URL应该为https://github.com/login/oauth/author...
2019-08-09 14:58:27 478
原创 2.容器
18.java 容器都有哪些?java中的容器包括,List,set,map。其中list是有序的,元素可重复,实现包括LinkList和ArrayList。而Set是无序的,不可重复的,实现包括HashSet和TreeSet。map是无序可重复的,实现包括HashMap和TreeMap。下面给出一张图。19.Collection 和 Collections 有什么区别?Co...
2019-05-02 15:55:02 179
原创 1.Java基础
1.JDK 和 JRE 有什么区别?首先我们来看一下这两个词的英文缩写。JDK也就是Java Development Kit(java开发工具包),而JRE是Java Runtime Enviroment (java运行环境)。从名字来看,我们也可以知道JDK是面向开发人员的一个SDK(Software Development Kit),是一个软件开发工具包,而JRE只是一个Java运行环境。...
2019-04-30 23:08:26 228
原创 14.门户导航菜单功能实现
1.首先我们对需求进行分析。我们是需要在portal中显示数据,但是portal是通过调用item项目来获取到数据的,又item来调用dubbo。这就涉及到了跨域请求。这里就需要引入新技术Jsonp了,Jsonp的原理是,一个项目可以访问另一个项目的JS文件,那么我们就把我们的数据伪装成JS文件,就实现了跨域请求。2.我们现在来搭建ego-portal和ego-item项目,这里...
2019-04-12 11:17:11 791
原创 13.规格参数新增
1.我们首先来进行分析,我们进行规格参数新增时,首先是需要选择一个类目,然后通过选择的类目,来查询出我们需要显示出来的模板,那么我们就需要在dubbo里面写出一个通过CatId来查询出模板的代码。实现类代码如下:public TbItemParam selByCatid(long catId) { //通过非主键查询就需要用这种方式 TbItemPar...
2019-04-12 10:32:40 160
原创 12.规格参数批量删除
1.对于规格参数的批量删除,是前台传过来几个ID,我们通过 “,” 对其进行切分,然后遍历的去删除对应ID的param就可以了。这当然涉及到数据库的操作,所以我们需要先写出通过ID删除对应Param的dubbo代码。现给出实现类的代码:public int delByIds(String ids) throws Exception { // TODO Auto-generated met...
2019-04-12 10:05:01 421
原创 11.规格参数查询
1.我们首先对其进行分析。点击规格参数查询,是显示出所有的参数信息,因为参数表只有itemCatId没有ItemCatName,所以还需要在itemCat中通过id查询出name。所以在dubbo里面是需要写出两个方面的,一个是在TbItemCatDubboService里面,一个是在TbItemParamDubbo里面。现在我们来写出对应的实现类的代码。 //通过ID查询出,...
2019-04-12 09:36:11 157
原创 10.实现商品新增
1.实现商品新增,我们发现,新增是要包括两张表的。而且,我们要实现事务回滚,也就是说,如果新增过程中失败,那么我们就要将数据库恢复到之前的状态。我们首先在dubbo中书写对应的service及其实现类。/** * 新增包含商品表和商品描述表 * @param tbItem * @param desc * @return */ int insTbItemDesc(TbIt...
2019-04-09 16:52:31 369
原创 9.实现图片上传
1.首先我们需要在Linux中安装vsftpd,之后对应的会使用ftpclient来进行图片上传。为了实现图片回显,在这个Linux中也要安装Nginx。之后我们引入相关的jar,因为要用到FtpClient,所以我们现在parent项目中的pom中引入相关的jar,然后在到Commons中也引入一下。<properties> <ftpclient-version&...
2019-04-09 15:44:52 153
原创 8.商品类目显示
1.我们先来理清一下思路。那就是我们如果要把所有的商品类目显示出来,我们需要怎么做?首先,当我们点击显示菜单时,就会通过URL来调用对应的方法,这时候应该有一个默认值,默认值可以把所有的菜单全部都显示出来。然后我们需要怎么才能查出所有的子级菜单呢?因为最上面的父菜单的父ID默认为0,所以通过这个查下去,然后递归的查询,直到没有为止。2.当然,这又需要和数据库进行交互,我们首先要完成dubbo的...
2019-04-09 10:31:19 326
原创 明明的随机数
一:题目描述二:题目解答首先,我们需要弄清题意,也就是,第一个数是总个数,后面的才是我们要进行处理的数。题目的要求有两个,就是去重复和排序,而TreeSet的特性刚好可以满足要求,所以我们可以先把它装入到TreeSet,然后再依次取出来就可以了。代码如下:import java.util.*;public class Main{ public stat...
2019-04-02 14:53:29 174
原创 计算字符个数
一:题目描述二:题目解答首先整理思路。这是要求后面的单个字符在前面包含多少个,我们首先用两个字符串来装好,前面的字符串,和后面的字符。然后我们可以通过一次循环来进行比较,看有多少个是一样的。运用的方法是String.charAt(),代码如下:import java.util.*;public class Main{ public static void ...
2019-04-02 11:18:09 201
原创 字符串最后一个单词的长度
一:题目描述二:题目解答首先整理下思路,我们需要将输入的整行读到,然后选取出最后一个单词,或者直接求出最后一个单词的长度。如果不要求我们输出最后一个单词具体是什么,我们只需要按照索引求出最后一个单词的长度就可以来了。我们想起了String.lastIndexOf这个方法。最后一个单词位于最后一个空格的前面,我们求出最后一个空格的索引,然后用总字符串的长度减去它就可以得到最...
2019-04-02 11:02:37 141
原创 字符串分隔
一:题目描述二:题目解答题目是关于字符串分隔的。我们应该回忆起Java里面的两个方法,第一个是按序号分隔字符串的,也就是String.substring(0,8),这就是截取字符串[0,8)的字符串。另外一个是String.substring(8),是截取8以后的字符串,包括8。当我们记起来这两个方法之后,那么我们的编程题就可以得到较好的解决了。首先,我们需要循环读取...
2019-04-02 09:51:19 620
原创 7.商品上架,下架以及删除
1.首先,我们需要添加这个功能,肯定要与数据库进行交流,那么我们就肯定需要在dubbo中完成一部分的代码。2.其次,我们要思考,商品的上架,下架,删除是指什么的改变。是的,只是商品状态的改变,也就是调用mapper里面合适的update方法就可以了。3.下面我们开始写代码,首先在,ego-service里面的TbItemDubboService里面写,也就是添加一个int updIt...
2019-03-28 19:58:03 3936
原创 平安科技一面
1.Java反射的应用场景2.数据库中事务的隔离级别3.面向对象的三大特性4.Java垃圾回收为什么不用引用计数了5.LinkList初始大小和扩容6.Java的高级特性7.HTTP协议相关8.Java内存模型9.Java垃圾回收中的回收算法10,Java中的自动装箱和拆箱...
2019-03-26 15:07:47 1226
原创 面试题目总结
1.线性的数据结构有哪些?主要有线性表,队列,栈,一维数组。2.常见的非线性数据结构?二维数组,图,树3.怎么找出一个图是否有环?对于判断一个图是否有环,我们需要知道的是这个图示有向图还是无向图。对于有向图而言,我们都知道可以直接用拓扑排序来进行直接判断,也就是首先找到入度为0的顶点,然后删除这个顶点和对应的边,然后重复这个过程。若执行结束后,图中仍然还有顶点,那么就是有环...
2019-03-26 13:08:12 183
转载 常见设计模式
1.策略模式(Strategy):定义了算法家族, 分别封装起来, 让它们之间可以互相替换.比如Collections.sort(List list, Comparator c); 可以通过实现多个Comparator接口来达到多种排序的目的.2.装饰者模式(Decorator): 动态的给一个对象添加一些额外的职责.比如java.io包. BufferedInputStream封装了...
2019-03-26 12:51:05 114
原创 6.商品查询—manage代码
1.我们之前以前写好了对应的dubbo的代码,现在我们需要实现商品查询功能,那么我们只需要在对应的manage项目里面调用对应的dubbo就可以了。2.我们在manage中新建一个service接口,取名叫TbItemService,因为是要显示在前台,所有方法类型仍然是EasyUIDataGrid,如下:package com.ego.manage.service;import com....
2019-03-24 17:02:28 319
原创 LeetCode 101 对称二叉树
一:题目描述二:题目解答class Solution { public boolean isSymmetric(TreeNode root) { return isMirro(root,root); } public boolean isMirro(TreeNode rootLeft,TreeNode rootRight){ ...
2019-03-24 15:50:26 98
原创 LeetCode 104 二叉树的最大深度
一:题目描述二:题目解答树的题目很多都用到了递归。我们这里也是class Solution { public int maxDepth(TreeNode root) { if(root==null){ return 0; }else{ int leftLength =maxDepth(r...
2019-03-24 15:10:51 129
原创 LeetCode 160 相交链表
一:题目描述二:题目解答解法一:链表长度分析我们求一个相交链表,就要找出相交链表有什么特征。我们要求相交点,首先要明确的一点就是,这个点有什么特殊的。我们分析发现,相交点后面的都是两条链表共有的,也就是相交点后面都是一样的,这当然也包括长度。那么两条相交链表不同的长度就只有相交之前的了。我们可以首先把两条链表指向的长度变成一样长,然后再一起移动指针,当指向的节...
2019-03-24 10:10:29 122
原创 LeetCode 21 合并两个有序列表
一:题目二:题目解答class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode ans=new ListNode(-1); ListNode tmp=ans,p=l1,q=l2; while(p!=null&...
2019-03-20 16:20:20 92
原创 LeetCode 2 两数相加
一:题目二:题目解答一定一定要注意空指针问题。class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { int carry=0; ListNode tmp=new ListNode(0); ListNode ans=tmp ,p...
2019-03-20 16:02:34 95
原创 LeetCode 19 删除倒数的第N个节点
一:题目二:题目解答首先我们先想到,既然是要删除倒数第n个节点。那么我们先一遍遍历得到链表的总长度,然后在根据n值,找到要删除的前一个节点,进行删除就可以了。在这里需要注意的是,为了避免链表只有一个节点,而这个节点要被删除的情况,我们建立的指针最好是哑结点的。代码如下:class Solution { public ListNode removeNthFromEnd(Li...
2019-03-20 15:22:41 81
原创 LeetCode 141 环形链表
一:题目二:解法运用快慢指针,如果两指针相遇,则有环。public class Solution { public boolean hasCycle(ListNode head) { ListNode slow=head; ListNode fast=head; while(fast!=null&&fa...
2019-03-20 10:03:28 98
原创 LeetCode 83 删除排序链表中的重复元素
一:题目二:解法class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode ans=new ListNode(-1); ans.next=head; ListNode tmp=head; while(tmp!=nul...
2019-03-20 09:51:21 91
原创 LeetCode 876 链表的中间节点
一:题目描述二:题目解答解法一:复制数组法首先我们找出规律,也就是中间节点,就是ListNode.lenngth/2的那个节点,可是ListNode这个是没有求长度的这个方法的。那么对于求长度有什么办法呢?我们可以依次把该链表元素一个个的复制到一个链表中,在复制的过程中计数,就可以得到长度了。public class class Solution { publi...
2019-03-20 09:35:07 162
原创 LeetCode 01
这道题我们首先会想到暴力法,也就是我们做两层循环,第二层循环开始的坐标一直比第一层循环的大一,这样就不会出现重复元素相加刚好得到目标值的这种情况。下面给出代码。显然,上面这种解法的时间复杂度为O(n²),我们就要思考是否存在更好的解法。于是想到了HashMap这个好用的东西。我们先创建一个HashMap,然后根据这样一种算法:进行一次循环,如果该次循环到的数组的值与目标值的差值已经在Ha...
2019-03-19 14:52:44 148
原创 5.商品查询—dubbo代码
1.首先我们引入一个GitHub上的分页插件,也就是pagehelper。那么需要引入第三方插件的话,我们首先需要在parent项目的pom文件中引用一下,然后我们需要在需要使用到该插件的地方,也就是service-impl中的pom.xml中写入如下:由于会用到数据库,所以在这个service-impl里面还需要些mybatis.xml,在里面要写明我们使用的是什么数据库,因为该分页插件...
2019-03-19 11:34:22 176
原创 Linux下的Tomcat一直启动不开的问题
最后发现问题的原因应该是进程号被占用,或者是没有先启动zookeeper。现在来总结以后启动的步骤,首先启动zookeeper,然后查看启动状态,确定已经启动成功。然后再启动tomcat,./startup.sh & tailf ../logs/catalina.out启动时会出现启动信息。ps aux|grep tomcat查看进程号kill -7 进程号用上面两条命令可以...
2019-03-19 11:18:00 1945
原创 4.zookeeper的搭建
zookeeper是一个分布式协调组件,是dubbo所支持的一个注册中心。在本项目中,就是将其作为dubbo的注册中心来使用的。这里的zookeeper是放在虚拟机中的Linux中进行安装对的。已经配置好JDK环境变量(该软件安装前提),下面来说明安装步骤。1.上传zookeeper 安装包到linux中/usr/local/temp 中(目录随意,对安装无影响)2.解压zookeeper压...
2019-03-18 20:31:10 115
原创 3.项目创建
我们完成这个项目需要创建六个项目:对于1.2,是我们整个项目的父项目,建立项目时选择项目类型为pom,我们需要在里面的pom.xml中配置整个项目需要的依赖,引用和插件。在这个xml文件里。我们的版本号,需要提到属性里,然后每个依赖再来引用,这样符合版本迭代,方便以后版本的更新。对于1.1 ,1.4 ,1.5 ,1.6项目,它们都是1.2的子项目,且这几个项目的项目类型为jar。对于1.2...
2019-03-18 20:07:49 139
原创 2.使用maven连接私服以及将项目发布到私服
一:使用maven连接私服使用maven连接私服时,首先当然要把maven的环境配置好。然后打开设置中maven—users settings-open file.打开了settings xml。1.配置本地仓库2.配置JDK3.配置私服构建4.激活上述配置构建(注意此处的名称要与上面的ID相同)5.配置镜像(如果没有连接私服,国内一般都是连接阿里的镜像)6.配置用户名密码二:将...
2019-03-18 17:47:45 216
原创 1.项目准备
一:项目介绍1.该项目是一个B2C(商家到客户)电商项目,基于SOA架构(面向服务架构)。技术选型主要有Spring,SpringMVC,myBatis,JSP,EasyUI,Redis,Dubbo,Nginx等等。二:项目准备1.数据库准备和逆向工程该项目是对着教程来进行的。数据库是直接运行SQL文件得到,然后利用逆向工程生成实体类和Mapper。2.搭建Maven环境2.1.搭建私...
2019-03-18 16:29:35 164
原创 SSM框架的搭建和简单测试
一:介绍SSM框架是目前比较流行的软件开发使用方案。对于三个框架的整合,主要需要配置web.xml,applicationContext.xml,springmvc.xml二:web.xml的配置web.xml的配置主要有四个地方。1.上下文参数:声明应用范围内的初始化参数。<!-- 上下文参数 --><context-param> <...
2019-03-12 18:28:20 682
原创 数据库系统的结构
一:数据库系统模式的概念1.模式(Schema)是对数据库逻辑结构和特征的描述是型的描述,是不涉及特定的值的模式是相对稳定的可能说了上面三点,对模式的概念还是没有理解,下面就来再具体的说明一下。比如我们在进行开发时,在数据库下面,新建的那个Schema,这个就是我们所说的模式,它里面会包含一张张的表,也就是包含了很多个关系模式。2.实例(Instance)数据库某一时刻的状态,...
2018-12-29 17:55:36 205
原创 数据库系统的结构
一:数据库系统模式的概念1.模式(Schema)是对数据库逻辑结构和特征的描述是型的描述,是不涉及特定的值的模式是相对稳定的可能说了上面三点,对模式的概念还是没有理解,下面就来再具体的说明一下。比如我们在进行开发时,在数据库下面,新建的那个Schema,这个就是我们所说的模式,它里面会包含一张张的表,也就是包含了很多个关系模式。2.实例(Instance)数据库某一时刻的状态,...
2018-12-29 17:55:34 265
原创 数据库系统中的数据模型
一:数据模型1.数据模型的基本概念(1)数据模型就是对现实世界事物的抽象。(2)数据库中的模型要满足三个条件:①能比较真实的模拟出现实世界②容易被人所理解③在计算机系统上容易实现(3)数据模型是数据库的核心和基础2.数据模型的分类(1)概念模型概念模型也被称作信息模型,它是按照用户的观点来对数据和信息建模,用于数据库的设计。(现实世界到概念模型这部分工作由数据库设计人员来进行完...
2018-12-28 15:55:33 10820
原创 初识数据库
一:引言1.数据库的发展经历了三个阶段,分别是,层次/网状数据库阶段,关系数据库阶段和新一代数据库阶段。2.数据库的发展造就可四位图灵奖得主,这是其他计算机技术都没有的。3.数据库技术已经发展为了一门基本的计算机学科。4.数据库技术带动了一个巨大的软件产业。二:绪论2.1数据库的四个基本概念1.数据所谓数据就是数据库中的基本存储对象。数据和其语义是不可分割的。举个例子,60这个数据...
2018-12-28 10:52:18 138
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人