自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并发知识整理

(基础)什么是线程和进程?进程是程序的一次执行过程,系统运行一个程序即是一个进程从创建,运行到消亡的过程。运行main函数其实就是启动一个JVM进程,而main函数所在的线程称为主线程。线程是比进程更小的执行单位。同类的多个线程共享进程的堆和方法区资源,有自己的程序计数器、虚拟机栈、本地方法栈。轻量级进程程序计数器为什么是私有的?作用:字节码解释器通过程序计数器来依次读取指令,从而实现代码的流程控制在多线程情况下,程序计数器记录当前线程执行的位置,当线程被切回来是就能知道上次运行到哪了

2020-08-17 15:21:25 139

原创 Spring知识整理

Spring模块核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块Spring BeanSpring注解@Controller (返回一个页面) +@ResponseBody= @RestController (返回JSON 或 XML 形式数据)将类声明为bean的注解:@Autowired自动装配bean@Componect @Repository、@Service、@ControllerSpring MVC原理图:客户端(浏览器)发送请求,直接

2020-08-13 18:11:43 211

原创 Redis知识整理

远程内存数据库、非关系数据库复制、持久化、客户端分片 -----》拓展成包含数百GB数据、每秒处理上百万次请求的系统。主从复制:从连接上主,接收主发送的整个数据库初始化副本,之后主执行写命令时都会发送给所有从服务执行,实时更新从服务器的数据。redis将数据存储在内存中,发送给redis的命令请求不需要经过查询分析器、查询优化器。一. Redis数据结构String 字符串由子节组成的序列,可以是字符串、整数(long)或浮点数(double)。可对数字执行自增、自减操作。常用命令:get

2020-08-13 17:55:45 276

原创 每日算法(二)

题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。范围[−2147483648, 2147483647]难点分析:看到这个题我首先想到的是将整数转换成字符串,然后再反转,再转换成int。但是很容易出现内存溢出的问题。这题的难点也是位数限制与溢出分析。直接上代码: private static int reverse(int x){ int rev = 0;...

2019-12-06 16:34:22 136

原创 每日算法(一)

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。如:abcabcbb ----> 最长子串为 abcabac ----> 最长子串为 bac解题思路:1.暴力法可以直接通过两次遍历,找到所有字串,然后找到最长子串的长度但是效率太低。2.滑动窗口滑动窗口是数组/字符串问题中常用的抽象概念。窗口通常是在数组/字符串中由开始和结束索引定义的一系列元素的集...

2019-11-27 10:21:36 208

原创 Dart教程

1.Dart是Flutter的主要开发语言,Flutter是一个来自Google用于移动应用开发的SDK工具:https://dartpad.dartlang.org/2.main() 方法是 Dart 的主方法,存在于最外层的作用域,在 Dart 中你可以在类之外编写代码,变量、方法、存取方法都可以独立于类之外维持生命周期在 Dart 2 中,new 关键字变成了可选的。未初始化的变量...

2019-07-15 18:26:59 490

转载 后半生,你越活越好的7个迹象

一个人最好的状态是什么样?最好的状态无非是:眼里写满故事,脸上却不见风霜。每天笑意满满,自信温和,不羡慕谁,也不嘲笑谁。把日子过得越来越好的人,都有七点相似的人生智慧。1.扬在脸上的自信  想要越活越好,首先要发自内心地认可自己,喜欢自己。  碰到比别人好的方面,不骄不躁、不随意攀比;遇到不如别人的地方,也不气馁不沉沦、不眼红妒忌。  以一颗平常心,坦然接受自己的缺点和不足...

2018-08-23 10:11:36 320

原创 springboot 引入maven配置

1.不需要安装maven,pom.xml引入maven依赖<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId...

2018-08-21 17:23:03 6326

原创 spring boot使用HandlerInterceptor实现系统权限管理

背景 前端效果类似于下图: 父子级菜单分别对应不同的操作权限、访问路径等。数据库建三张表: 1.operate 页面菜单配置表 id即为权限id,url为菜单对应页面地址,type控制菜单是否显示。2.action 请求url配置表 action为对应操作请求的url,operate即为对应操作权限,log控制是否打印日志。3.account用户表 保存用户信...

2018-08-21 16:56:58 3598

原创 Spring Boot集成Mybatis实现多数据源连接

以两个数据源为例,application.properties有两组数据库配置,再配置对应的Config与mapper,各自处理各自的业务。1.配置pom.xml依赖首先配置好jdbc、mybatis的依赖: <parent> <groupId>org.springframework.boot</groupId> ...

2018-08-17 15:31:56 464

原创 前端js实现将table中的数据导出到Excel ---- 兼容主流浏览器

IE浏览器注意事项: 1.IE11浏览器通过 !!window.ActiveXObject || "ActiveXObject" in window 进行判断; 2.在 工具–Internet选项–自定义级别–ActiveX控件和插件 下, 将“对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本”勾选为“启用”;js代码实现:var idTmr;function ge...

2018-08-16 15:31:23 4661 5

原创 Java实现Excel导出 --- POI

1.引入依赖 org.apache.poi <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</ver...

2018-08-13 19:16:53 199

原创 常用SQL总结

1.判断表是否存在,表内是否有数据 SELECT table_name FROM information_schema.tables WHERE table_schema = #{database} AND table_name = #{tableName}...

2018-08-07 17:01:52 103

原创 微信内如何通过链接一键关注微信公众号

1.进入公众号,点击右上角的小人头,进入查看公众号信息页面;2.点击公众号信息页面最下面的全部消息(老版可能是历史消息),进入全部消息页面;3.点击右上角的三个点,选择“复制链接”复制链接地址;4.在微信中直接打开刚才复制的链接地址即可;注意:链接地址必须是直接打开,否则进入的公众号关注页面会出现“关注”按钮闪一下就消失了...

2018-08-03 15:27:10 10527 2

原创 myeclipse上如何查看JDK源码

1.Window—>Preferences—>Java—>Installed JREs,选中项目使用的JDK,点击 Edit 2.选中rt.jar,点击 Source Attachment 3.点击 External File 4.找到自己的JDK的源码,导入myeclipse,打开–OK,导入成功 5.按住Ctrl鍵,点击 类 (接口 、方法) 名,即可查看源碼

2017-08-09 15:03:00 2489 1

原创 Java关键字及其作用

private protected public类,方法和变量修饰符 abstract class extends final implements interface native new static strictfp synchronized transient volatile程序控制

2017-08-09 09:56:58 215

原创 对称加密算法

对称加密算法,顾名思义其加密与解密过程相同,应用于软、硬件。1.DES安全性低,密钥长度:JDK–>56,BC–>64 代码实现://生成key KeyGenerator kg = KeyGenerator.getInstance("DES"); kg.init(56); SecretKey sk = kg.generateK

2017-01-19 17:04:44 397

原创 Java加解密学习

柯克霍夫原则:数据的安全基于密钥而不是算法的保密。即系统的安全取决于密钥,对密钥保密,对算法公开。——现代密码学设计的基本原则。 算法实现分为3类:jdk,Common Codes(CC),Bouncy Castle(BC),后两者使用需要引入jar包。1.Base641.jdk实现BASE64Encoder encoder = new BASE64Encoder();String encode

2017-01-07 10:40:33 340

原创 NodeJs

Node.js是一个基于Chrome JavaScript运行时建立的平台,简单说就是运行在服务端的JavaScript,用于方便地搭建响应速度快、易于扩展的网络应用。Node.js使用时间驱动,非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。Node是一个JavaScript运行环境。实际上它是对Google V8引擎进行了封装。V8引擎执行JavaScript

2016-12-29 17:23:58 713

原创 周五随笔

这一周又过去,感叹时间过得很快,但是每每到了周五都是很开心的,而现在的心情更加的不错。 偶然间看到了一篇关于“鼓励更多女性加入IT”研发领域的博客,让我有了思考。博客上说,当面对一件有挑战的事情时不要害怕,尽自己最大的努力去做,哪怕失败了也没有关系,因为结果不会比自己不做变得更差,事情过后,无论从信心还是对问题的理解上都将登上一个新台阶;职业发展道路上需要不同的导师指引规划,与优秀的人共事,可以获

2016-12-23 15:05:10 546

原创 按钮不可用状态

对于button,可通过disabled属性设置成不可用状态。 在js中:document.getElementById("#submit_button").disabled="true"在jq中:disabled--->$("#submit_button").attr("disabled", true);enabled--->$("#submit_button").removeAttr("di

2016-12-23 11:32:23 1462

原创 常见的架构设计策略

目前流行的轻量级Java EE应用的架构基本比较统一,通常会使用Spring作为核心,向上整合MVC框架,向下整合ORM框架。使用Spring的IoC容器来管理个组件之间的依赖关系时,Spring的声明事务将负责业务逻辑层组件的事务管理。当我们决定采用某种架构设计时,我们主要考虑这种架构是否成功地将规范和现实分离了,从而可以提供较好的可扩展性、可修改性。1.贫血模型贫血模型是最常用的应用架构,也是最

2016-12-20 11:11:17 1700

原创 常见设计模式精学

设计模式常常被分为如下三类:创建型:创建对象时,不再由我们直接实例化对象;而是根据特定场景,由程序来确定创建对象的方式,从而保证更大的性能、更好的架构。创建型模式主要有简单工厂模式、工厂方法、抽象工厂模式、单例模式、生成器模式和原型模式。结构型:用于帮助将多个对象组织成更大的结构。结构型模式主要有适配器模式、桥接模式、组合器模式、装饰器模式、门面模式、享元模式和代理模式。行为型:用于帮助系统间各个对

2016-12-16 16:28:46 292

原创 JSP页面动态效果总结

1.数字滚动加载显示 jsp代码:<span id="tzje"></span>元 js代码:需要加载时调用numberR()方法。//数值滚动加载方法 function numberR(){ $("#tzje").numberRoll({ speed:10, count:tzje

2016-12-14 15:54:19 2815

原创 Cookie报错java.lang.IllegalArgumentException

项目中做自动登录和保存密码时,Cookie报错java.lang.IllegalArgumentException:Control character in cookie value, consider BASE64 encoding your value。 今天在进行使用cookie记录用户名功能时,就在测试的时候,用了一个中文去登陆,发现报错。 后来上网查了下,才知道原来是转码的问题,J2E

2016-12-12 10:31:19 898

原创 SSH框架深度学习----Hibernate

以前学习过SSH框架,看过很多视频,也实际应用做了几个小的项目,但是工作了对框架的学习和搭建过程的并没有更深入的学习,所以趁现在手头工作不忙,再深入学习一下SSH框架。Hibernate是轻量级JavaEE应用的持久层解决方案,Hibernate不仅管理Java类到数据库表的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度缩短使用JDBC处理数据持久化的

2016-12-09 15:59:32 939 1

原创 虚拟机字节码执行引擎

执行引擎是Java虚拟机最核心的组成部分之一。“虚拟机”是相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。在Java虚拟机规范中制定了虚拟机字节码执行引擎的概念模型,这个概念模型成为各种虚拟机执行

2016-12-07 15:09:29 429

原创 虚拟机类加载机制

虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在Java语言里,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会为Java应用程序提供高度的灵活性,Java里天生可以动态扩展的语言特性就是依赖运行期动态加载和动态链接这个特点实现的。

2016-12-01 17:30:29 323

原创 垃圾收集器与内存分配策略(二)

四.垃圾收集器1.serial收集器serial收集器是最基本、发展历史最悠久的收集器,它是一个单线程的收集器,在进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。它优于其他收集器的地方:简单而高效(与其他收集器的单线程比),对于限定单个CPU的环境来说,Serial收集器由于没有线程交互的开销,专心做垃圾收集自然可以获得最高的单线程收集效率。在用户的桌面应用场景中,分配给虚拟机管理的内存

2016-11-28 15:04:18 315

原创 垃圾收集器与内存分配策略

当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就需要对内存动态分配与内存回收技术实施必要的监控和调节。Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域都是随线程而生,随线程而灭,内存分配和回收都具备确定性,在方法结束或者线程结束时内存自然就跟着回收了,所以这几个区域不需要过多考虑回收的问题。而Java堆和方法区则不一样,这部分内存

2016-11-25 16:31:41 401

原创 Java内存区域与内存溢出异常

一.运行时数据区域1.程序计数器程序计数器是一块较小的内存空间,它可以看做是当前线程所 执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要以来这个急死乎其来完成。用于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器

2016-11-24 17:17:01 361

转载 Web开发性能优化---UI界面篇

1、尽量采用div+css布局 DIV+CSS相比较与表格布局的优势: a.代码精简 使用DIV+CSS布局,页面代码精简,这一点对XHTML有所了解的都知道。代码精简所带来的直接好处有两点:一是提高蜘蛛爬行效率,能在最短的时间内爬完整个页面,这样对收录质量有一定好处;二是由于能高效的爬行,就会受到蜘蛛喜欢,这样对收录数量有一定好处。b.减少因嵌套多而影响蜘蛛爬行的问题 使用一般的Tab

2016-11-21 17:03:43 431

原创 SQL语句学习

一.SQL高级查询的几个运算词:1.union运算符(并集) union运算符通过组合两个结果表并消去表中任何重复行而派生出一个结果表。当all随union一起使用时,不消除重复行。两种情况下,派生表的每一行不是来自table1就是来自table2. 2.except运算符(补集) except运算符通过包括所有在table1中但不在table2中的行并消除所有重复行而派生出一个结果表。当al

2016-11-18 09:58:05 331

原创 Oracle统计函数

应用:名次统计、排序1.rank() over (order by 字段 desc) 排序结果:1、2、2、4…..(若并列第二)2.dense_rank().. 排序结果:1、2、2、3、4…..3.row_number() … 排序结果:1、2、3、4…..

2016-11-15 16:31:04 304

原创 结构化查询语言SQL

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 sql是最重要的关系数据库操作语言,并且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。

2016-11-14 16:37:53 1458

原创 $.ajax()方法参数详解

最近在开发项目中遇到一个问题,使用多个jQuery中的$.ajax()方法对功能过程进行判断与验证的时候,执行顺序并不是按照自己所想要的执行,导致验证出现了一定的问题,查询资料以后找到了问题的根源,原来ajax是异步传输,在对执行顺序严格要求是必须将异步改为同步,即在$.ajax()方法参数加上async:false。

2016-11-14 14:14:55 312

原创 Myeclipse使用log4j生成日志文件

日志文件在软件开发中非常重要,它可以帮助程序员记录程序运行过程中的一些信息,以便调试、分析。下面介绍在myeclipse中如何使用log4j生成日志文件。

2016-11-10 14:24:14 1630

原创 Processing Dirty Regions

前几天myeclipse在打开或者编辑jsp文件时总是出现Processing Dirty Regions这个报错,如果不管这个报错myeclipse还会自动关闭,特别烦人。上网搜了一下,有的人说这是由于MyEclipse和Eclipse中组件or.eclipse.wst.sse.ui版本冲突引起的,也有人说是一些杀毒软件干扰的原因,但是按照他们的方法都没有彻底解决这个问题,报错还是会出现。后来采取

2016-11-09 11:05:38 443

原创 java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

tomcat在启动时出现了java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind报错,异常的原因是服务器端口被占用 所以解决办法是: 1.首先进入cmd命令行 查看端口是否被占用 使用命令: netstat -ano 我的服务器的端口是8080 ,查看端口被占用进程的PID,我的为2248。 2.查看

2016-11-08 10:28:59 370

原创 java.lang.OutOfMemoryError: Java heap space

javaweb项目运行是出现内存溢出错误,windodws系统的解决方法: 在tomcat/bin/catalina.bat文件中,加入set JAVA_OPTS=-Xms64m -Xmx256m,加在rem Guess CATALINA_HOME if not defined后面; 在myeclipse的window/preferences/window/servers/tomcat/tomc

2016-11-07 14:58:50 341

空空如也

空空如也

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

TA关注的人

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