- 博客(363)
- 收藏
- 关注
原创 UI技术经验分享 留白之设计
在设计里,优秀的设计,通常都是最善于使用留白设计的页面。 为什么这样说呢?我们看看案例。 下图案例是现今最热门的购物网站之一:淘宝 图1 淘宝网站是个密集型购物的网站。紧密的字间距、段间距,没有明显的区分隔断(或者说没有足够的留白空间),所有的产品密密麻麻的陈列在上面。 用户需要找自己的产品,往往是通过搜索才能达到目的,能够仔细去看分类,看首页并且去购买的用户极少。 淘宝网站性质,导致留白的空间不足,给自己明确推销的目的很少。我们只能在最左上角看到一个小小的留白空
2021-12-09 17:08:25
1678
原创 如何使用Spring Boot快速创建Web应用
Spring Boot 让我们开发java项目开发过程更加高效敏捷,今天我用一个简单的例子给大家分享一下如何用Spring Boot 开发一个java web项目。 环境准备 · Java环境(JDK1.7以上,推荐用JDK1.8) · Maven 3.0+ · idea开发工具(或者使用sts) · MySQL数据库 · Postman测试插件(可选) 一个最简单的web应用 准备模板 1. 打开spring官网, 输入网址 http://star
2021-12-09 17:04:58
1612
原创 HTML5技术分享 ES2017继发与并发
大家都知道,async函数的返回值是 Promise 对象,这比 Generator 函数的返回值是 Iterator 对象方便多了。你可以用then方法指定下一步的操作。 进一步说,async函数完全可以看作多个异步操作,包装成的一个 Promise 对象,而await命令就是内部then命令的语法糖。 先来看一段代码: 函数f内部return命令返回的值,会被then方法回调函数接收到。 只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数,wa
2021-12-09 17:00:39
1702
原创 Java编译的运行机制初步讲解
简单来说Java程序的运行机制分为编写、编译和运行三个步骤。 一、Java编写文件格式 编写是指在Java开发环境中进行程序代码的编辑,最终生成后缀名为“.java”的Java源文件。 二、Java编译生成文件格式 编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件,该文件可以被Java虚拟机(JVM)的解释器正常读取。 三、Java运行虚拟机(JVM) 运行是指使用Java解释器将字节码文件翻译成机器代码,执行并显..
2021-11-30 16:57:39
277
原创 Java编程基础学习之不同进制的转换方法
进制就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。同一数值可以在不同进制之间的转换,具体转换方式如下: 一、二进制与十进制的转换 (1)二进制转十进制 按权相加法,即将二进制每位上的数乘以权(N进制,整数部分第i位的权为N(i-1),小数部分第i位权为N-i),然后相加的和即是十进制。 如将二进制数101.101转换为十进制,具体示例如下:.
2021-11-29 17:13:57
579
原创 Java基础学习之快速掌握Session和cookie
一、会话技术 问题引入:在一个商城系统中,要想实现用户未登录状态下,将商品保存到购物车中,因为用户没有登录,于是不能讲购物车数据保存到数据库中,因此就可以使用会话技术将数据保存下来。会话技术分为两种:存储在服务器上的技术——session技术和存储在客户端的技术——cookie技术。这两种技术都称为会话技术。 1.会话的概念 所谓的会话,指的客户端与一个web应用进行交互的过程, 会话的开始是当客户端打开浏览器与该web应用进行交互,即表示会话开始, 会话的结束时当客户端.
2021-11-29 17:11:47
197
原创 Java零基础学习之掌握JSP技术
一、Java初级开发之jsp概述 1.关于jsp JavaServer Pages简称jsp,从“server”这个词可以看出,这其实也是一门java服务端技术,其实可以简单的把jsp认为是servlet,一点错也没有。Jsp的实质,就是客户端需要的资源是通过jsp技术动态生成的。 2.jsp的技术原理 1)当客户端在访问一个jsp资源时,服务器上有相应的servlet来负责jsp资源,那么该servlet将会把jsp页面翻译成一个servlet,然后执行该servlet的se.
2021-11-29 17:09:20
310
原创 Java学习之SQL的HIVE工具几种排序查询介绍
Java学习过程中需要了解数据库的多种操作技术,由于数据库的复杂化就需要不同的语句来进行处理,这里主要针对HIVE中的order by, sort by, distribute by, cluster by的用法和区别进行介绍。 1、order by hive中的order by 和传统sql中的order by 一样,对数据做全局排序,加上排序,会新启动一个job进行排序,会把所有数据放到同一个reduce中进行处理,不管数据多少,不管文件多少,都启用一个reduce进行处理。如.
2021-11-26 17:10:51
493
原创 Java开发技术之了解类加载的几个过程
Java开发需要经过虚拟机的编译,这里对类加载过程:加载、验证、准备、解析、初始化进行简单的分析。 加载 在加载阶段,虚拟机主要完成三件事: 1.通过一个类的全限定名来获取定义此类的二进制字节流。 2.将这个字节流所代表的静态存储结构转化为方法区域的运行时数据结构。 3.在Java堆中生成一个代表这个类的java.lang.Class对象,作为方法区域数据的访问入 验证 验证阶段作用是保证Class文件的字节流包含的信息符合JVM规范,不会给JVM造成危害。如果
2021-11-26 17:08:22
159
原创 Java技术学习之数据映射之间的管理
关联映射 在现实的项目中进行数据库建模时,我们要遵循数据库设计范式的要求,会对现实中的业务模型进行拆分,封装在不同的数据表中,表与表之间存在着一对多或是多对多的对应关系。进而,我们对数据库的增删改查操作的主体,也就从单表变成了多表。那么Mybatis中是如何实现这种多表关系的映射呢? 查询结果集ResultMap resultMap 元素是 MyBatis 中最重要最强大的元素。它就是让你远离 90%的需要从结果 集中取出数据的 JDBC 代码的那个东西,而且在一些情形下允许你做一些
2021-11-26 17:06:07
388
原创 大数据技术学习之Hbase单机版的安装
单机版的Hbase主要是用于测试,所有的HBase文件存储在本地系统。 一.安装环境 1、 VM:VMware-workstationl-12 2、 OS:centos 6.5 3、 JDK:jdk1.8 4、 HBase:hbase-1.2.5-bin.tar.gz 二.安装步骤 1. 安装包的准备——hbase-1.2.5-bin.tar.gz(jdk自行安装) 2.上传安装包至虚拟机下的根目录下的bigdata目录下 3.解压缩安装包至根目录下
2021-11-24 17:17:19
1635
原创 大数据学习之Hbase shell的基本操作
HBase的命令行工具,最简单的接口,适合HBase管理使用,可以使用shell命令来查询HBase中数据的详细情况。安装完HBase之后,启动hadoop集群(利用hdfs存储),启动zookeeper,使用start-hbase.sh命令开启hbase服务,最后在shell中执行hbase shell就可以进入命令行界面 Habse shell的help对语法的介绍很全,hbase shell 的操作分为 10类,j本文只介绍前4类常用的,分别是:gerneral,ddl,namespace,
2021-11-23 16:16:57
2109
原创 大数据开发学习之Hive的静态分区与动态分区
分区是hive存放数据的一种方式。将列值作为目录来存放数据,就是一个分区。这样查询时使用分区列进行过滤,只需根据列值直接扫描对应目录下的数据,不扫描其他不关心的分区,快速定位,提高查询效率。分动态和静态分区两种: 1. 静态分区:若分区的值是确定的,那么称为静态分区。新增分区或者是加载分区数据时,已经指定分区名。 create table if not exists day_part1( uid int, uname string ) partitioned by(y
2021-11-22 16:51:50
809
原创 Java学习之BPMN知识以及Activiti的流程部署
BPMN的介绍 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。 那什么是BPM和BPMN呢? BPM:即业务流程管理,是一种以规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩效为目的的系统化方法,常见商业管理教育如EMBA、MBA等均将BPM包含在内。 BPMN:业务流程建模与标注,包括这些图元如何组合成一个
2021-11-22 16:49:53
2706
原创 Java技术学习之Activiti和Spring整合实现查询与审批
前面的文章介绍了Activiti的流程部署。本章我们会将Activiti和Spring进行整合,并完成简单的审批和查询。 1、要实现Spring和整合,还需要引入activiti-spring包,pom的依赖如下: 2、Activiti的配置文件: 注意:在Activiti的配置文件中配置了几种主要的服务对象 Service服务说明 RepositoryService仓库服务 仓库服务是存储相关的服务,一般用来部署流程文件,获取流程
2021-11-22 16:47:00
557
原创 Java技术学习之数据库JDBC应用分析
一、jdbc概念 所谓的jdbc,实际是来自于 java database conectivity的缩写,顾名思义是用于实现在java程序中连接数据库,以至于可以对数据库进行操作。实际上,jdbc是java程序与数据库进行通信的一种规范。这种规范(接口)定义在java.sql包下。其四大核心对象: · DriverManager: 用于加载数据库驱动 · Connection:用于连接数据库的 · Statement: 用于执行sql语句的 · ResultSet:用于封装
2021-11-19 15:51:43
279
原创 基础学习之JQuery技术入门
一 jQuery概述 jQuery就是一个js库,里面封装了很多js的方法,相当于是一个外部的js文件。 1.快速入门 1) 导库 2)在scrpit中直接使用jquery即可。 2.jquery的页面加载函数(当页面加载完后执行的函数) window.onload只能出现一个,并且后面的会覆盖前面的,但jquery的多个页面加载函数不会覆盖 jquery页面加载函数 //方式一 jQuery(document).ready(function()
2021-11-19 15:48:29
195
原创 Java技术之快速了解观察者模式
观察者模式又叫做发布-订阅模式,它根据被观察者触发的事件众多观察者执行相应的行为,前提是观察者必须向被观察者进行注册。目前流行的Spring、ZK、Mina、NIO、AWT、Swing等技术都大量使用了观察者模式。 下图为观察者模式涉及的角色Java培训.png" width="500" height="232" style="border-width: initial; border-style: none; vertical-align: top; display: inline-bl
2021-11-19 15:44:19
550
原创 Java之在linux系统下的性能监测工具
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作。在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易。 基于此原因,我们已编写了最常使用的命令行工具列表,这些工具将有助于每个Linux/Unix 系统管理员的工作。 这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因。 这个命令行工具列表提供了足够的工具,您可以挑选适用于您的监控场景的工具。 1.顶部 - Linux进
2021-11-18 16:57:20
1755
原创 Java学习之JavaWeb中缺省的Servlet的奥秘
一、JavaWeb中的资源 我们都知道,web服务器的作用是对外提供Web资源服务。比如浏览器中看到的一个网页,或者网页中展现的一张图片等,这些都是Web资源。对于Web资源来说,又分为静态资源和动态资源。 1.静态资源 所谓的静态资源,就是固定的Web资源,该资源已经被生成,可以直接拿来存放在服务器上,比如当前服务器的某个Web应用下存放着如下这些静态资源:Java培训.png" width="136" height="139" style="border-width: in
2021-11-18 16:53:54
714
原创 Java学习之对虚拟机(JVM)内存模型的分析
JVM会将Java进程所管理的内存划分为若干不同的数据区域,这些区域有各自的用途、创建/销毁时间。Java培训.png" width="500" height="421" style="border-width: initial; border-style: none; vertical-align: top; display: inline-block;"> JVM内存数据:栈管运行,堆管存储 第一章 线程私有区域 线程私有数据区域生命周期与线程相同, 依赖用户线程的启
2021-11-18 16:50:24
90
原创 Java技术学习之快速掌握八种基本排序
在学习java技术时候,对于排序的应用需要熟练的掌握,这样才能够确保Java学习时候能够有扎实的基础能力。 经典的排序算法有八种,分别为: Ø 冒泡排序 Ø 选择排序 Ø 插入排序 Ø 归并排序 Ø 希尔排序 Ø 快速排序 Ø 堆排序 Ø 基数排序 其中冒泡排序、选择排序、插入排序称为三大基本排序。 虽然这三大基本排序算法时间复杂度都是O(n2),但是其实细细讨论之下,还是有各自的特点的。 冒泡排序 冒泡排序法的思路 基
2021-11-17 17:13:47
441
原创 Java技术之掌握数据库连接工具DBUtils的应用
在我们实际完成项目开发的过程中,总会涉及到连接数据库操作。对于基本的JDBC连接数据库而言,已经可以满足我们的日常需要,但是如果能够对代码进行简化书写,自然是更好的。 DBUtils是java编程中的数据库操作实用工具,小巧简单实用。 DBUtils封装了对JDBC的操作,简化了JDBC操作。可以少写代码。 1.对于数据表的读操作,他可以把结果转换成List,Array,Set等java集合,便于程序员操作; 2.对于数据表的写操作,也变得很简单(只需写sql语句) 3.可
2021-11-17 17:11:50
524
原创 Java教程之SQL性能优化提升
Ø 简单的性能优化 Sql的性能优化是数据库工程师在实际工作中必须面对的重要课题之一。对于某些数据库工程师来说,它几乎唯一的命题。实际上,像WEB服务这样需要快速响应的应用场景中,SQL的性能直接决定了系统是否可以使用。这里主要介绍一些使用SQL执行速度更快,消耗内存更少的优化技巧,今天的文章只介绍其中的一种,后续会继续更新一些其它的优化方式。 严格地优化查询性能时,必须要了解所使用的数据库的功能特点。此外,查询速度慢并不只是因为SQL语句本身,还可能是因为内存分配不佳,文件结构不合理等其他
2021-11-17 17:09:54
351
原创 Java教程之ResultSetHandler下的常用结果集
ResultSetHandler下的常用结果集封装//ArrayHandler:适合取1条记录。把该条记录的每列值封装到一个数组中Object[]//ArrayListHandler:适合取多条记录。把每条记录的每列值封装到一个数组中Object[],把数组封装到一个List中//ColumnListHandler:取某一列的数据。封装到List中。//KeyedHandler:取多条记录,每一条记录封装到一个Map中,再把这个Map封装到另外一个Map中,key为指定的字段值。//Ma
2021-11-16 16:59:21
360
原创 Java教程之使用Jsoup实现简单的爬虫技术
1.Jsoup简述 Java中支持的爬虫框架有很多,比如WebMagic、Spider、Jsoup等。今天我们使用Jsoup来实现一个简单的爬虫程序。 Jsoup拥有十分方便的api来处理html文档,比如参考了DOM对象的文档遍历方法,参考了CSS选择器的用法等等,因此我们可以使用Jsoup快速地掌握爬取页面数据的技巧。 2.快速开始 1)编写HTML页面Java培训.jpg" width="500" height="489" style="border-wid
2021-11-16 16:56:48
899
原创 Java教程之Spring could介绍及创建服务注册中心
一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解。1.1 Eureka介绍Eureka是一个基于REST(Representational State Transfer)的服务,主要用于AWS clou
2021-11-16 16:54:26
1082
原创 Java教程之地图中计算两个GPS坐标点的距离
在日常开发中,我们难免要计算两个左边之间的距离,但是地图软件api的接口普遍要求我们必须要先将坐标点传递到他们服务器,然后计算出一个距离返还给我们,使用起来太不方便了, 下面是我整理的关于计算两个GPS坐标之间距离的方法。Java培训.png" width="500" height="91" style="border-width: initial; border-style: none; vertical-align: top; display: inline-block;">1.Lat
2021-11-15 17:56:32
1011
原创 Java教程之使用Lock取代synchronized
在多线程中,1.5版本之前,我们都使用同步代码块或者同步方法来解决线程安全问题比如:同步代码块synchronized(锁对象){</p><pre><code>功能代码;}同步方法public synchronized void test(){功能代码;}在1.5版本,在java的工具类包中,java.util.concurrent.locks 中,推出了最新的解决线程安全的方法,就是Lock+Condition的方式,那这
2021-11-12 17:04:25
1212
原创 Java教程之快速掌握Java垃圾回收机制
任何语言在运行过程中都会创建对象,也就意味着需要在内存中为这些对象在内存中分配空间,在这些对象失去使用的意义的时候,需要释放掉这些内容,保证内存能够提供给新的对象使用。对于对象内存的释放就是垃圾回收机制,也叫做gc,对于java开发者来说gc是一个双刃剑。c的垃圾回收是人工的,工作量大,但是可控性高。java是自动化的,但是可控性很差,甚至有时会出现内存溢出的情况,内存溢出也就是jvm分配的内存中对象过多,超出了最大可分配内存的大小。提到java的垃圾回收机制就不得不提一个方法:Syst
2021-11-12 17:02:15
138
原创 Java教程之Java反射
反射是Java中核心技术之一,这里先不定义什么叫反射,先看一个例子publicclassPerson {publicvoidrun() {System.out.println("Hello Wolrd");}}要求:1) 创建一个person的实例,单不能使用Person person = new Person()的方式2) 调用run()方法,也不能使用person.run()方式我们知道要调用方法必须先要有对象,现在不能通过new关键字来实例化对象,只能通过反...
2021-11-12 16:59:34
112
原创 Java数据库连接中出现内存空间异常问题解决方法
使用Java程序从数据库中查询大量的数据时出现异常: java.lang.OutOfMemoryError: Java heap space 在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置. JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -X
2021-11-10 17:38:56
790
原创 Python技术基础知识点:OS模块的应用
1.os模块 对于文件和目录进行处理 目录:就是文件夹 属性: os.name:查看当前系统的类型; 如果是windows ---> nt 如果是max ---> posix os.environ:返回当前系统的环境变量(所有) 函数: os.environ.get():获取指定的某一个环境变量 路径分类: 绝对路径:带盘符根目录的就是绝对路径 相对路径:相对于某个文件(参照物)所得到的一个路径值; 特点:书写的时候不带
2021-11-10 17:36:12
177
原创 Python基础学习之Number数据类型介绍
python3中支持int/float/bool/complex 像大多数语言一样,数值类型的赋值和计算很直观, Number类型一共分为四个小类别:整型,浮点型,布尔型,复数 Int 整形 整形就是整数类型,声明整形有四种方式: 1.十进制:0~9 变量 = 十进制数字 2.二进制:0~1 变量 = 0b二进制数字 0b是二进制的标志符号 3.八进制:0~7 变量 = 0o八进制数字 0o是八进制的标志符号 4.十六进制:0
2021-11-10 17:33:39
283
原创 Java基础学习之JDBC URL结构分析
JDBC URL提供了一种标识数据库的方法,它可以使JDBC程序识别指定的数据库并与之建立连接。大家在编写JDBC程序时, 无需关注JDBC URL的形成过程,只需使用与所用的数据库一起提供的URL即可。 JDBC URL的标准语法如图所示(以MySQL为例)。 从图中可以看到,JDBC URL由协议、子协议、主机端口、数据库名称、参数等组成。其中,JDBC URL中的协议总是jdbc,子协议因数据库厂商的不同而有所差异,在本例中为mysql,主机为数据库所在主机地址,端口为MySQL数
2021-11-09 17:29:09
1766
原创 Java教程之对象的创建与使用
千锋成都java培训老师分享java面向对象中的对象创建与使用。类是对象的抽象,为对象定义了属性和行为,但类本身既不带任何数据,也不存在于内存空间中。而对象是类的一个具体存在,既拥有独立的内存空间,也存在独特的属性和行为,属性还可以随着自身的行为而发生改变。接下来演示如何用类创建对象,创建对象之前,必须先声明对象,其语法格式如下: 类名 对象名; 类是自定义类型,也是一种引用类型,因此该对象名是一个引用变量,默认值为null,表示不指向任何堆内存空间。接下来需要对该变量进行初始化,Java使
2021-11-09 17:25:38
462
原创 Python教程之udp和tcp协议介绍
UDP介绍 UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。 UDP是一种面向无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。 UDP
2021-11-09 17:22:46
249
原创 千锋Java技术分享:Java中的原子操作
来到千锋java培训机构学习已经有一段时间了,由当初的懵逼状态逐渐好转,也逐渐养成了写技术学习笔记的习惯,今天总结了一下java中的原子操作。 1、Java中的原子操作是什么? 所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间切换到另一个线程。 2、Java中的原子操作介绍: jdk1.5的包为java.util.concurrent.atomic 这个包里面提供了一组原子类。其基本特性就是在多线程环境下,当有多个线程同时执行这些类
2021-11-08 17:09:58
213
原创 大数据技术分享:Hadoop集群同步
分享——是技术突飞猛进的很好体验!在千锋学习大数据技术,开始学会了分享,班里五十个人,每个人就能得到49份不同技术探讨。每次到分享的时刻,总会收获不同的想法,今天千锋大数据培训学员给大家带来的技术分享是——Hadoop集群同步。 一、同步方式 选择一个机器,作为时间服务器(这里选择hadoop01),所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间。 二、所需工具 时间同步服务器有两个:ntpd和ntpdatp。虽然使用二者都能达到时间同步的目的,但是使用之
2021-11-08 17:06:43
711
原创 MyBatis之线程优化
前言 我们的项目存在大量用户同时访问的情况,那么就会出现大量线程并发访问数据库,这样会带来线程同步问题,本章我们将讨论MyBatis的线程同步问题和优化方法。 MyBatis的线程同步问题 MyBatis需要通过SqlSession实现数据库操作,而SQLSession内部的实现需要使用JDBC的Connection连接对象,而Connection对象是非线程安全的,当多个线程同时访问时,就可能出现线程同步的问题。 线程同步的解决方法 我们前面学习过解决线程同步的方法是:锁
2021-11-05 17:03:15
633
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人