Java全栈之路
本专栏将介绍前端JS/CSS的一些内容,包括新兴的框架,项目构建工具的使用,常见面试题以及新的程序语言版本介绍等。
后端将主要介绍Java语言以及相关数据库,以及部分入门级大数据内容。
xyphf_和派孔明
全栈工程师,熟悉原生JavaScript、TypeScript、ES6、Webpack、VUE全家桶、JAVA SSM框架、Spring boot 、Spring cloud、MySql、Oracle、Linux等,可独立构建多页面、单页面应用项目。
展开
-
一、基于Spring Cloud的分布式微服务架构简介
目前实现分布式服务架构的主流实现方式有:①Dubbo+zookeeper②SpringBoot+Cloud这两种技术都可以将功能服务分散到不同服务器部署,然后实现服务间通信(调用)。请求-->处理1-->处理2-->响应。意思可以将处理1和处理2做成独立服务分开部署,然后再进行RPC(Dubbo)或HTTP请求和响应模式(Cloud)交互。 Dubbo和C...原创 2018-09-16 14:24:08 · 570 阅读 · 0 评论 -
二、基于SpringCloud实现服务注册、查找、负载功能
搭建SpringCloud服务中心(eureka)步骤第一步:创建maven project [eureka-server],在pom.xml中引入下列jar包①spring-cloud-starter-eureka-server ②spring-cloud-starter-parent③spring-boot-starter-parent④pom.xml具体详情如下...原创 2018-09-16 15:24:03 · 622 阅读 · 0 评论 -
三、向SpringCloud注册Service服务(Restful服务)
第一步:在该工程中pom.xml中追加引入jar包定义①spring-cloud-starter-eureka②spring-cloud-starter-parent③④<!-- springcloud-parent --><dependencyManagement> <dependencies> <depe...原创 2018-09-16 16:30:12 · 1663 阅读 · 0 评论 -
四、SpringCloud服务调用(RestTemplate模式) 负载均衡处理
也就是通过这个服务名可以找到具体的机器以及它的端口号; Eureka服务中心去调用会涉及到两种方式;一种是RestTemplate模式,一种是Feign接口对象模式我先介绍RestTemplate模式,我们需要引入spring-cloud-starter-ribbon的jar包;ribbon实现负载均衡,也就是说我们现在在服务器上注册了我们的服务是一个服务注册在一台机器上;...原创 2018-09-16 17:46:30 · 1231 阅读 · 0 评论 -
五、SpringCloud服务调用(Feign接口对象模式)
第一步、在当前项目pom.xml中添加spring-cloud-starter-feign的jar包<dependencies> <!-- ribbon --> <dependency> <groupId>org.springframework.cloud</groupId> <a...原创 2018-09-16 18:12:51 · 1813 阅读 · 0 评论 -
从零启动一个JAVA SSM项目详细步骤目录
详解大型互联网项目服务端架构演进历程 JAVA环境配置1、Linux软件源配置操作2、Linux系统 jdk安装实操3、Linux系统tomcat安装4、Linux下Maven项目构建与管理工具5、Linux下vsftpd文件服务器安装与配置实操6、Linux下nginx反向代理服务器安装与配置实操7、Lunix下nginx反向代理服务器域名解析配置实操8、...原创 2018-07-29 15:25:35 · 4891 阅读 · 4 评论 -
3、Oracle查询语句-from-字句
1、如何从表中查询一个字段对应的内容select 字段名 from 表名;查询 s_emp 表中 每个员工的月薪select salary from s_emp;2、如何查询多个字段对应的内容select 字段名1,字段名2,字段名3 from 表名;查询 semp 表中 每个员工的id,firstname,salaryselect id,firstname,salar原创 2017-11-01 21:54:28 · 1089 阅读 · 0 评论 -
4、Oracle查询语句-where字句
1、where字句的作用限制表中数据的返回,符合where条件的数据被选中,不符合where条件的数据被过滤掉。2、where的语法格式select 字段名 from 表名 where 条件;3、两个极限条件1 = 1 恒等 永真1 != 1 恒假 永假select id,first_name from s_emp where 1=1;select原创 2017-11-01 22:08:07 · 1256 阅读 · 0 评论 -
5、Oracle的排序
1、排序的概念即按照一定的标准 和 方式,把数列进行组织排序标准:排序标准排序方法:默认 升序 关键字 asc 指自然排序 字典顺序 降序 关键字 desc 反自然顺序 反字典顺序-2、Oracle排序的语法规则select 字段 from 表名 where 条件 order b原创 2017-11-03 20:17:01 · 964 阅读 · 0 评论 -
6、Oracle单行函数
1、概念单行函数: 针对sql语句影响的每一行 都做处理 并且针对每一行都会返回一个结果 sql语句影响多少行就返回多少个结果组函数: 针对sql语句影响的所有行 只返回一个结果 无论sql影响多少行 只返回一个结果2、举例单行函数:select first_name,upper(first_name) name from原创 2017-11-03 20:21:10 · 665 阅读 · 0 评论 -
7、Oracle多表查询
1、表连接查询s_emp 表中的first_name 和 对应的部门编号select first_name,dept_id from s_emp;会发现 需要的部门名 在s_dept 表中 表结构 如下 会发现 需要的部门名 在 s_dept 表中2、如何取得需要的数据 如果出现同名字段 则使用 表名区分select first_name,dept_id,name原创 2017-11-03 20:27:30 · 702 阅读 · 0 评论 -
8、Oracle的外连接
1、外连接的特点外连接的结果集 等于 内连接的结果集 加上 匹配不上的记录一个也不能少2、如何实现(+) (+)的意思是 (+)所在的字段 对面的表的数据全部被匹配出来。找出所有的普通员工? select distinct m.id,m.first_name from s_emp e,s_emp m wher原创 2017-11-03 20:33:12 · 627 阅读 · 0 评论 -
1、初识数据库
1、什么是数据库?数据库 本质上对应一个管理文件的软件DBMS (data base manager system) 数据库管理系统DB data base 正在存储数据的文件RDBMS relation database manager system 关系型数据管理系统RDB relation data base 关系型数据库如果没有安装好,欢迎扫描微信公众...原创 2017-10-28 22:19:52 · 682 阅读 · 0 评论 -
2、安装Oracle数据库
1、Oracle数据库的安装1. 解压Oracle软件安装包(不能有中文路径,安装位置也不要有中文)2. 关闭所有的杀毒软件3. 安装时使用默认安装安装完毕之后 按 win+R 键,输入 cmd 打开终端命令行输入 sqlplus system/密码如果连接别人的电脑,可以输入 sqlplus system/密码@别人的ip地址2、操作Oracle 的命令原创 2017-11-01 21:50:52 · 568 阅读 · 0 评论 -
Java设计模式介绍
设计模式(Design Patterns)——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式转载 2017-10-25 19:42:01 · 600 阅读 · 0 评论 -
Java设计模式之工厂方法模式
工厂方法模式共分为三种:普通工厂模式,静态工厂模式,抽象工厂模式1、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先请看下关系图。 举例如下:(我们举一个发送邮件和短信的例子) 首先,创建二者的共同接口://1.首先写一个接口public interface Sender { //不用加abstract关键字,在这里默认就是抽象方法 public转载 2017-10-25 21:17:25 · 764 阅读 · 0 评论 -
Java设计模式之装饰模式
顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下: Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下://1.创建一个接口public interface Sourceable { public void method();转载 2017-10-25 21:49:16 · 323 阅读 · 0 评论 -
JAVA逻辑运算符的“短路特性”
阅读下列代码,写出 ①②③④⑤⑥⑦⑧输出的值public class TestLogic{ public static void main(String[] args){ int ia = 3; int ib = 2; boolean b3 = (++ia == 3 && ++ib == 3);// ① System.ou原创 2017-09-21 21:11:20 · 1386 阅读 · 0 评论 -
JAVA不使用第三个变量,交换两个变量的值
我们先看看使用第三个变量的方法。public class Swap{ public static void main(String[] args){ int a = 3; int b = 5; int c = a; //把a的值先存到c a = b; //把b存给a b = c; //把存在c的值倒赋给b原创 2017-09-12 00:03:30 · 7597 阅读 · 4 评论 -
双重for循环重难点解析
循环里面可以嵌套一个循环,叫做多重循环。多重循环中最简单的就是二重循环。二重循环的难点是内层循环的循环条件,如何控制内层循环的次数。for(int i;...;...){ for(int j,...,...){ ...; } ...;}二重循环的公式:j<m*i + n内存循环变量j<每轮循环递增次数*外层循环循环变量 + 第一轮循环次数i和j分别是外层和内原创 2017-09-12 22:00:41 · 36874 阅读 · 0 评论 -
Java面向对象封装、继承、多态的总结
一:封装 1、基本概念 通常情况下载测试类中可以给成员变量赋值一些合法但不合理(如年龄为负数、汽车行驶公里数等)的数值,而程序的执行过程无法检测和提示,此时与实际生活不符合。 为了避免上述情况的发生,就需要对成员变量的赋值操作进行合理性的判断和提示,该方法就叫做封装,通俗来说,封装就是保证成员变量合理性的机制。2、封装的流程 ①私有化成员变量,使用private关键字修饰; ②提供公有原创 2017-09-29 23:04:36 · 549 阅读 · 0 评论 -
Java传参-基本数据类型和引用数据类型作为参数的区别(值传递)
java中的方法可以传递参数,参数的传递方法就是值传递。参数有形参和实参,定义方法时写的参数叫形参,真正调用方法时,传递的参数叫实参。调用方法时,会把实参传递给形参,方法内部其实是在使用形参。所谓值传递就是当参数是基本类型时,传递参数的值,比如传递i=10,真实传参时,把10赋值给了形参。当参数是对象时,传递的是对象的值,也就是对象的首地址。就是把对象的地址赋值给形参。基本类型当做方法的形参时 当原创 2017-09-27 20:45:26 · 26850 阅读 · 12 评论 -
Java的设计模式之单例模式
在某些特殊场合中一个类对外提供了一个对象且只能是一个对象,这样的类叫做单例类,编写单例类的设计思想叫做单例设计模式。如例: 自定义Singleton类,实现该类的封装; 自定义TestSingleton类,在main方法中能得到且只能得到Singleton类中的一个对象;public class Singleton{ //2.提供本类的引用作为本类的成员变量 private原创 2017-09-28 22:22:14 · 296 阅读 · 0 评论 -
Java设计模式之模板设计模式
public abstract class TestAbstract { private int cnt; public TestAbstract() { super(); } public TestAbstract(int cnt) { super(); setCnt(cnt); } public int原创 2017-10-07 18:58:48 · 331 阅读 · 0 评论 -
关于响应式布局的相关介绍——和派孔明
一、响应式布局简介 简单的讲,就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。随着移动互联网的盛行,为解决如今各式各样的浏览器分辨率以及不同移动设备的显示效果, 设计师提出了响应式布局的设计方案。二、响应式布局的优点 面对不同分辨率设备灵活性强 能够快捷解决多设备显示适应问题三、认识响应式布局 响应式布局又称之为媒体查询(Media Query),即通过不同的媒体类型和条件原创 2016-07-13 23:16:33 · 825 阅读 · 0 评论 -
iphone手机safari输入法不支持keyup事件解决方法
问题是这样的,用input search做模糊搜索的时候,在键盘里面输入关键词,会通过ajax后台查询,然后返回数据,用input监听键盘keyup事件,在安卓手机是可以的,但是在ios手机自带的输入法无效,经过查询得出以下方法;起初我想到的是使用 JQ 里的 change,但是马上排除此方法,因为 change 是在文本框失去焦点时才会触发。曲线救国一下,想到用 keydown 来解决。在安卓一切原创 2016-09-18 17:38:29 · 3948 阅读 · 0 评论 -
【插件】自适应布局JQuery插件,rem布局——和派孔明
JQ插件,JQ自适应插件,rem布局原创 2016-06-20 20:58:49 · 3245 阅读 · 0 评论 -
点击按钮,打开文件上传窗口
如何实现点击按钮打开如上图的文件上传窗口呢?demo1 Document 注释:Internet Explorer 9 以及更早的版本不支持 input 标签的 accept 属性。注释:鉴于安全考虑,该例不允许您上传文件。demo2定义input type="file" 的样式body{ font-size:14px;}转载 2016-07-06 08:30:26 · 5677 阅读 · 0 评论 -
说说zepto.js的事件
1、创建并初始化一个指定的DOM事件。如果给定properties对象,使用它来扩展出新的事件对象。默认情况下,事件被设置为冒泡方式;这个可以通过设置bubbles为false来关闭。 $.Event(type, [properties]) ⇒ event$.Event('mylib:change',{bubbles:false});//指定事件的名称,事件的动作2、绑定自定义事件$(docum原创 2016-07-14 13:42:17 · 13335 阅读 · 0 评论 -
[转载]强大的文件上传插件
多文件上传插件;带预览图的文件上传插件;可判断文件大小的上传插件;获取文件名的上传插件;转载 2016-07-21 11:50:16 · 3527 阅读 · 2 评论 -
关于zepto.js的移动端拖拽写法
zepto.js;移动端拖拽;js拖拽;原创 2016-07-21 16:56:36 · 5840 阅读 · 1 评论 -
移动端拖拽的实现效果
拖拽原创 2016-07-21 23:17:09 · 6623 阅读 · 0 评论 -
【转】移动端轮播插件,zepto轮播插件
移动端轮播图,移动端图片切换效果,手机移动端轮播图插件,zepto图片轮播切换插件转载 2016-07-25 09:09:14 · 5612 阅读 · 1 评论 -
垂直居中应用
近日在O2O移动电商手机页面时有个需求,就是一堆ul列表里面,有一个li的高度不确定,但是要求其他的li的高度,以它的高度垂直居中。 具体如下啊原创 2016-07-26 10:25:49 · 392 阅读 · 0 评论 -
微信、手机页面禁止页面下拉
webapp,微信、手机、移动端页面禁止页面下拉window.onload = function(){ document.body.addEventListener("touchmove",function(event){ event.preventDefault(); });};原创 2016-07-29 18:46:44 · 8203 阅读 · 0 评论 -
JQ简单获取键盘键值
<script>$(function(){ $(document).keydown(function(ev){ alert( ev.which ); //alert( ev.ctrlKey ); }); });</script>原创 2016-10-03 18:44:53 · 1833 阅读 · 0 评论 -
JQ阻止默认事件与阻止冒泡
<script>$(function(){ $(document).click(function(ev){ alert(123); }); $('#div1').click(function(ev){ //alert(123); ev.stopPropagation();//仅阻止冒泡 }); $(documen原创 2016-10-03 18:58:27 · 1203 阅读 · 0 评论 -
聊一聊JQ中delegate事件委托的好处
下面举个例子 我们希望通过点击使得点击的li标签变红HTML<body style="height:2000px;"><ul> <li>1111</li> <li>1111</li> <li>1111</li> <li>1111</li></ul></body>普通写法$(function(){ $('li').on('click',functio原创 2016-10-03 19:49:38 · 2389 阅读 · 0 评论 -
小议使用trigger()的主动触发模拟点击的使用
<body style="height:2000px;"><input id="input1" type="button" value="添加"><input id="input2" type="text"><ul> <li>1111</li> <li>1111</li> <li>1111</li> <li>1111</li></ul></body><scri原创 2016-10-03 20:03:43 · 3267 阅读 · 0 评论 -
小议JQuery中focus()和focusin()区别
简单的说就是focus()不支持冒泡而focusin()支持冒泡举例说明: HTML<div id="div1"> <input type="text"></div>如果是focus(),则必须写出成 $('input').on('focus',function(){ alert(123); });写成 $('#div1').on('focus',fu原创 2016-10-05 22:17:11 · 3728 阅读 · 0 评论