自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java面试

JVMJava 类加载过程?Java 类加载需要经历一下 5 个过程:加载加载是类加载的第一个过程,在这个阶段,将完成一下三件事情:通过一个类的全限定名获取该类的二进制流。将该二进制流中的静态存储结构转化为方法去运行时数据结构。在内存中生成该类的 Class 对象,作为该类的数据访问入口。验证验证的目的是为了确保 Class 文件的字节流中的信息不回危害到虚拟机.在该阶段主要完...

2019-01-15 20:25:28 263

原创 java并发编程

并发基础Java内存模型lockunlockreadloaduseassignwrite并发的测试工具postman:HTTP请求,非专业的并发测试工具Apache Bench:无图形化界面常用命令:ab -n 1000 -c 50 http://url表示1000个请求 50个并发JMeter 专业的测试工具线程安全性原子性Atomic包保证了原子性主...

2018-11-15 22:55:14 232

原创 Java踩坑记录

1.quartz整合spring框架service层对象注入为null解决方案 JobDetailFactoryBean中注入的是一个cn.itcast.quartz.HelloJob实现类的全路径,底层会反射创建出一个HelloJob的对象,但是该对象不是由spring管理的,所以业务层的对象无法注入。办法:JobFactoryService public clas...

2018-09-26 09:59:13 415

原创 Python之Scrapy

学python也没两天,看了点基础就直接来搞爬虫了,然后就接触了Scrapy框架 以下是度娘说的 Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。 emmm…废话不多说,先介绍下Scrapy吧 ScrapyEngine:这是scrapy框架的核心,处理整个...

2018-05-10 23:02:59 367

原创 request.getParameter() request.getInputStream() request.getReader()的区别

这三个方法都是从request对象中得到提交的数据,但是用途不同。要根据<form>表单提交数据的编码方式选择不同的方法。 HTML中的form表单的一个关键属性 enctype: 1.enctype=application/x- www-form-urlencoded这种编码方式是默认的编码方式。编码后的结果通常是field1=value2&field2=value2...

2018-05-04 17:20:42 834

原创 Spring源码分析

Spring Bean的创建是典型的工厂模式,顶级接口是BeanFactory public interface BeanFactory { //对FactoryBean的转义定义,因为如果使用bean的名字检索FactoryBean得到的对象是工厂生成的对象, //如果需要得到工厂本身,需要转义 String FACTORY_BEA

2018-01-04 14:12:26 423

转载 解决表单重复提交问题

本文摘自《深入java web技术内幕》在网站中有许多地方都存在表单重复提交的问题,比如在用户网速慢的情况下可能会重复提交表单,或者是恶意用户通过程序来发送恶意请求等等,这时都需要设计一个防止表单重复提交的机制 要防止表单重复提交,就要标志用户的每一次访问请求,使得每一次访问对服务端来说都是唯一确定的,为了标志用户的每次访问请求,可以再用户请求一个表单域时增加一个隐藏表单项,这个表单项的值每次都是

2017-12-21 14:08:07 543

转载 ClassLoader工作机制

本文摘自《深入分析Java Web技术内幕》 ClassLoader:类加载器 作用:1.负责将Class加载到JVM中 2.审查每个类由谁加载,是一种父优先的等级加载机制 3.将Class字节码重新解析成JVM统一要求的对象格式 ClassLoader类结构分析 defineClass(byte[],int ,int) findClass(s

2017-12-18 12:04:46 327

原创 线程池

为了避免系统频繁地创建和销毁线程,可以采用线程池让创建的线程进行复用。在线程池中,有几个活跃线程,当需要使用线程时,可以从池子中拿一个空闲线程,当完成工作时,将这个线程退回到线程池,方便他人使用。 JDK对线程池的支持 ThreadPoolExecutor表示一个线程池,Executors表示线程池工厂,通过Executors可以取得一个拥有特定功能的线程池。主要有: 就看一下其中的固定大小的

2017-12-13 18:24:49 279

原创 Java高并发

线程的基础知识 概念:线程是进程内的执行单元 Java中线程的基本操作 新建线程 :继承Thread类和实现Runnable接口终止线程:Thread.stop()不推荐使用,因为会释放所有的monitor中断线程:public void Thred.interrupt()public boolean Thread.isInterrupted()public stataic boolean

2017-12-03 17:45:38 355

原创 Freemarker 使用

freemarker使用场景 1.并发量高 2.单纯使用redis不能满足需求 目前企业中主要用Freemarker做静态页面或是页面展示 freemarker是java语言编写的模板引擎,与web容器无关freemarker原理图 FreeMarker语法1.访问对象 ${person.id} 2.访问listlist <#list persons as p>

2017-11-21 16:22:34 451

原创 ActiveMQ(三)

spring整合ActiveMQ 配置ConnectionFactory<!--JMS厂商提供的ConnectionFactory --> <bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <constructor-arg name="brokerURL

2017-11-16 18:29:40 266

原创 ActiveMQ(二)

发布订阅模式: 与点到点模式类似/** * topic producer */ @Test public void testTopicProducer() throws Exception { // 1.创建一个连接工厂对象ConnectionFactroy,需要指定mq的ip以及端口号 ConnectionFactory connectionF

2017-11-16 17:06:47 348

原创 ActiveMQ学习(一)

MQ的作用: 作为消息中间件主要有:ActiveMQ、RabbitMQ、kafka 消息形式: 1.点到点:一个生产者对一个消费者 2.发布-订阅模式ActiveMQ使用实战下载http://activemq.apache.org/tar -zxvf filename 解压缩文件启动activemq 在bin目录下运行 ./activemq start编写测试类来测试运行 1.点到

2017-11-16 16:34:53 491

原创 HashMap&ConcurrentHashMap的比较

HashMap实现原理* 数组(二分查找、插值查找、斐波那契查找)O(logn) 插入O(n)* 线性链表 新增删除O(1) 查找是O(n)* 二叉树O(logn)hashmap采用的是链地址法 数组+链表 简单来说,HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的,如果定位到的数组位置不含链表(当前entry的next指向null),那么对

2017-10-13 17:00:29 401

原创 ThreadLocal

ThreadLocal 解决多线程并发 ThreadLocal不是一个线程 是保存线程本地化容器的对象 ThreadLocal接口的方法 void set(Object set) 设置当前线程的局部线程变量的值 public Object get()返回当前线程的线程局部变量 public void remove()

2017-10-13 17:00:05 314

原创 java虚拟机学习

一、GC * 程序计数器(Program Counter Register)当前线程的行号指示器,线程私有* 虚拟机栈(JVM Stack)一个线程的每个方法在执行的同时,都会创建一个栈帧(Statck Frame),栈帧中存储的有局部变量表、操作站、动态链接、方法出口等,当方法被调用时,栈帧在JVM栈中入栈,当方法执行完成时,栈帧出栈。 局部变量表中存储着方法的相关局部变量,包括各种基本数据类

2017-10-13 16:58:52 307

原创 初识分布式服务框架dubbo

Dubbo是一个分布式服务框架,以及SOA治理方案。其功能主要包括:高性能NIO通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等。 dubbo底层是tcp协议的netty NIO Spring boot底层是http协议 dubbo的七大标签 * config 配置层,对外配置接口,以 ServiceConfig, ReferenceConfig 为中心

2017-10-13 16:56:30 406

原创 初探Zookeeper

基本服务:分布式锁服务 配置维护、组服务、分布式消息队列、分布式通知/协调等 ZooKeeper所提供的服务主要是通过:数据结构+原语+watcher机制 Znode: ① stat:此为状态信息, 描述该Znode的版本, 权限等信息 ② data:与该Znode关联的数据 ③ children:该Znode下的子节点 Zookeeper集群 选取算法-》Zookeeper集群个数

2017-10-13 16:53:41 269

原创 初识Spring Boot

1.创建独立的Spring应用程序 2.嵌入tomcat 无war 3.简化Maven配置 4.自动配置spring 5.嵌入一些管理员需要插件 6.开箱即用xml文件配置 RestController Controller 错误页 2.包含了ResponseBody 端口修改 server.port=8082 application.properties 可以直接读到这个文件 底层

2017-10-13 16:52:52 269

原创 初探Redis

key-value存储系统 字符串 SET GET HASH HMSET HGETALL 列表(list) LPUSH LRANGE x m n (m to n) 集合(Set) SADD SMEMBERS 有序集合(sorted set) ZADD key 1 name ZRANGE key 0 10 WITHSCORES 发布订阅 订阅者:redis 127.0.0.1:6379>

2017-10-13 16:51:42 505

原创 PageHelper的简单使用

实现分页查询一般有两种方法 1.使用SQL语句的 limit 进行分页 2.使用PageHelper PageHelper的使用很简单,PageHelper目前支持Oracle,Mysql,MariaDB,SQLite等数据库 1.在mybatis.xml中配置分页插件<configuration> <!-- 配置分页插件 --> <plugins>

2017-10-13 15:05:03 1606

原创 Eclipse使用Maven 插件方式直接部署项目到Tomcat

1.配置Tomcat: 编辑Tomcat目录下/conf/tomcat-users.xml在标签中加入以下代码后,保存退出 这里的用户名和密码是和上面Maven中配置相对应的 2.配置Maven /con/settings.xml tomcat admin admin 3.pom.xml org.apache.tomcat

2017-10-10 17:20:20 422

原创 关于dubbo服务找不到provider的原因

最近看的一个项目是SSM+dubbo的,所以我就从网上找了些资料自己学了学,并且做出了一个demo 先搭建一下Zookeeper,这个比较简单 下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/ 下载完解压,一般没什么要改的 执行 zkServer 看一下dubboDubbo一个分布式、高性能、透明化的RPC服务框架,提供服务自动注册、

2017-09-07 14:59:38 7185

原创 SSH之Struts 2

Struts 2开发步骤1.在web.xml文件中定义核心的Filter来拦截用户请求 struts2org.apache.struts2.dispather.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*2.如果需要以POST方式提交请求,定义包含表单数据的JSP的页面,如果仅仅只是以GET方式发送

2017-03-25 11:16:26 511

原创 SSH之Hibernate

Hibernate较另一个持久层框架MyBatis。Hibernate倡导地入侵式的设计,完全采用普通的Java对象(POJO类),不要求PO继承某个超类或实现Hibernate的某个接口ORM对象/关系数据库映射,ORM框架的特征:完成面向对象的编程语言到关系数据库的映射,ORM框架是应用程序和数据库的桥梁ORM工具提供了持久化类和数据表之间的映射关系,通过这种映射关系的过度,程序员

2017-03-25 11:15:34 880

原创 SSH之Spring

Spring的优点低侵入式设计,代码的污染极低独立于各种应用服务器Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式处理,从而提供了更好的复用Spring的ORM和DAO提供了第三方持久层框架的良好整合,简化了底层的数据库访问Spring的高开放性,并不强制应用完全依赖于Sprin

2017-03-25 11:11:10 634

原创 Maven的安装和简单使用

1.下载网址http://maven.apache.org/download.cgi2.环境变量 JAVA_HOME  M2_HOMEPath %M2_HOME%/bin检验是否安装成功  mvn help :system Maven核心不是做实际的事情,只是解析一些XML文档当,管理生命周期和插件Maven强大来自于它的插件,这些插件可以变异源代码,打包二进制代码,发布站点等

2017-03-25 11:09:46 495

原创 腾讯云安装wordpress

一、配置服务器配置环境yum install httpdyum install php php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhashyum install nginx mysql-server

2016-08-01 17:22:54 1072 2

原创 拓扑排序

(1)在有向图中选一个没有前驱的顶点且输出之(2)从图中删除该顶点和所有以它为尾的弧#include “stdafx.h”#include “malloc.h”#define MAX_VERTEX_NUM 20#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define ERROR 0#define OK 1#d

2016-08-01 17:21:48 743

原创 3D-Max 软件许可证检出失败 错误20 解决办法

错误图片解决方法:第一种、打开 C:\ProgramData\FLEXnet这个位置(ProgramData一般是隐藏文件夹,所以之前最好显示出所有隐藏文件),把adskflex开头的文件都删掉。这样重新打开max,会出来激活窗口让你重新激活,请使用正确的注册机以管理员身份运行注册。第二种:删除注册文件,把max的许可证文件删掉,重新进行注册即可!软件新版本的许

2016-08-01 17:21:06 41017 4

原创 静态查找

1.顺序查找2.折半查找#include “stdafx.h”#include “malloc.h”#define OVERFLOW -2#define OK 1#define LIST_INIT_SIZE 100#define EQ(a,b) ((a)==(b))#define LT(a,b) ((a)<(b))#define LQ(a,b) ((a)>(b))typedef i

2016-08-01 17:13:30 399

原创 JDBC之基本操作增删查改

1.在mysql数据库中新建一张表tbl_usercreate table tbl_user(id int(11) unsigned not null auto_increment ,name varchar(50) not null default ”,password varchar(50)not null default ”,email varchar(50) not nul

2016-08-01 17:06:45 445

dubbo.xml文件

dubbo.xml文件免费下载,解决xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"无效的问题,谢谢,dubbo

2017-09-07

空空如也

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

TA关注的人

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