- 博客(20)
- 收藏
- 关注
原创 SOA(面向服务的架构)思想
SOA思想介绍面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构件在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。...
2020-11-16 09:39:32
376
原创 JSONP和 CORS进行跨域访问
ajax跨域访问测试(一)测试时 挑选在jt-manager中的页面和数据进行ajax测试1).页面结构如下<!DOCTYPE html><html><head><meta charset="UTF-8"><title>测试JSON跨域问题</title><script type="text/javascript" src="http://manage.jt.com/js/jquery-easyui-1.4.1/j
2020-11-16 09:39:18
209
原创 redis的分片机制和哨兵机制
redis分片机制redis在整个处理流程中通常是用作数据库或者缓存的,当redis宕机的后,会影响整个流程的执行,因此我们将redis分片,所谓分片其实就是多部署几台redis,将数据尽可能的保存到不同的redis中,当一台redis宕机后只会影响一部分数据,redis分片的优点是可以实现内存的动态扩容,从而解决海量数据存储的问题,但是redis不能够实现高可用。那么当有多个redis的时候,传进来的数据如何决定存储在哪个redis中呢?在redis底层有一套算法叫做Hash一致性算法:一般的h
2020-11-16 09:39:00
1111
1
原创 分析Nginx是如何实现反向代理和负载均衡
nginx介绍Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。特点: 占有内存少 不超过2M ,并发能力强 3-5万次/秒注意事项: 在安装Nginx过程中, Nginx的安装目录 不要装到C盘,并且路径不要有中文 空格 及系统
2020-11-16 09:38:42
322
原创 java学习中的同步锁介绍<一>
同步锁概念:sychronized关键字: 把有可能出现问题的代码包起来,一次只让一个线程执行。通过sychronized关键字实现同步。当多个对象操作共享数据时,可以使用同步锁解决线程安全问题。使用范围:可以修饰方法, 也可以用在代码块上原理:是指给你的共享资源加锁, 还是可以让多个线程操作共享资源, 只不过哪个线程有钥匙, 拿着钥匙进来开锁使用共享资源, 没有钥匙的线程等待.同步锁的特点:前提1,同步需要两个或者两个以上的线程。前提2,多个线程间必须使用同一个锁。同步的缺点是会降低
2020-11-16 09:37:46
208
原创 collection集合和collections工具类的使用
Collection集合概述集合:集合是java中提供的⼀种容器,可以⽤来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?数组的⻓度是固定的。集合的⻓度是可变的。数组中存储的是同⼀类型的元素,可以存储基本数据类型值。集合存储的都是对象。⽽且对象的类型可以不⼀致。在开发中⼀般当对象多的时候,使⽤集合进⾏存储。集合框架:集合按照其存储结构可以分为两⼤类,分别是单列集合 java.util.Collection 和双列集合 java.util.Map 。Collection:单列集合类的根接
2020-11-16 09:37:23
366
原创 mybatis的一级缓存和二级缓存的理解
mybatis缓存:使用缓存,是为了避免频繁的与数据库进行交互,尤其是在查询越多的情况下,缓存命中率越高的情况下,使用缓存对性能的提高更明显mybatis支持缓存,分为一级缓存和二级缓存,在默认的情况下,只开启了一级缓存;一级缓存:同一个sqlsession对象,在参数和SQL完全一样的情况下,只执行一次SQL语句(前提是缓存没有过期)在同一个sqlsession中,执行相同的查询,首先去缓存中是否有我们查询的信息,如果没有,从数据库进行查询,并将查询到的信息保存到一级缓存中,当第二次在查询相同的
2020-11-16 09:37:02
203
原创 redis分布式缓存和集群搭建
一:缓存机制的介绍缓存机制主要的目的就是为了降低用户访问物理设备的频次。从缓存服务器中直接获取数据,快速的响应给用户,提高整体的查询速度,使用户体验更好。说明:为了提高数据库"查询"能力.引入缓存服务器。缓存机制采用K-V样式的数据结构进行构建,k必须唯一;缓存的运行环境是内存;内存断电即擦除,为了保证数据的安全,实现持久化(写入磁盘)操作;应该使用C语言进行开发;内存中的数据(不能一直存? ) 所以就会使用内存优化的算法,例:LRU算法 ;说明:由于redis中一般使用String数据
2020-11-16 09:27:06
172
原创 String类中的常量池分析
Java中的字符串常量池Java中字符串对象创建有两种形式:1 字面直接赋值形式,如 String str = "gja";2 通过 new 构造对象的方法 String str = new String("gja");上述两种创建方式在性能和内存上存在一定的差异.原因就是:JVM为了减少字符串对象的重复创建,维护了一个特殊的内存,这段内存就是字符串常量池工作原理分析:当使用第一种直接赋值的方式创建字符串对象时,JVM首先对这个字面量进行检查,如果字符串常量池中存在相同的内容的字符串对象的引
2020-09-11 19:56:53
765
原创 多线程-->进程和线程 及 多线程的两种创建方式
多线程多线程是为了解决 提高程序的执行效率或者从根本上提高CPU的执行效率而来进程和线程的区别进程就是正在运行的程序。可以打开任务管理器查看。一个软件一个程序的运行可以依赖一个进程或者多个进程。特点:独立性:进程是系统中独立存在的实体,它可以拥有自己的独立的资源,每一个进程都拥有自己私有的地址空间。在没有经过进程本身允许的情况下,一个用户进程不可以直接访问其他进程的地址空间。动态性:进程与程序的区别在于,程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合。在进程中加入了时间
2020-09-11 19:11:44
206
原创 mybatis的入门案例
MyBatis简介mybatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,让开发者只需要关注sql语句本身,而不用再花精力去处理例如:注册驱动,创建connection,创建statement,手动设置参数,封装结果集,释放资源这些繁杂的过程;Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执
2020-09-11 12:03:51
177
原创 java-API使用,和API的泛型
一:object1.概念object类是所有对象的父类2.常用方法(1)boolean equals(Object obj) 对象和参数对象比较大小,默认是比较内存地址,如果要比较对象的属性,可以重写该方法(2)int hashCode() 返回该对象的哈希码值。(3)String toString() 返回该对象的字符串表示。二:String特点是底层封装了一个char[]数组的对象常用方法length() 返回该字符串的长度charAt() 返回指定下标对应字符值s
2020-09-11 10:44:37
222
原创 JDBC的使用案例和分析
什么是JDBC?JDBC(Java DataBase Connectivity) Java数据库连接,其实就是利用Java语言/程序连接并访问数据库的一门技术如何通过JDBC程序访问数据库?(1)准备数据, 创建jt_db库, 创建account表drop database if exists jt_db;create database jt_db charset utf8; use jt_db; create table account( id int primary k
2020-09-09 14:58:23
270
原创 注解和反射
1.什么是注解注解是以"@注解名"在代码中存在的,还可以添加一些参数值例如;`@SuppressWarnings(value=“unchecked”)注解的作用:不是程序本身,可以对程序作出解释可以被其他程序读取(比如:编辑器)注解适用于哪里?可以附加在package , class, method , field等上面,相当于给他们添加了额外的辅助信息我们可以通过反射机制编程实现对这些元数据的访问.2. 内置注解@Override注解定义在java.lang.Override 中, 此
2020-09-06 23:40:24
95
原创 I/O流,字节流和字符流区别?序列化和反序列化
流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流字符流和字节流字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。字节流和字符流的区别:(1)读写单位不同:字节流以字节为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。(2)处
2020-09-04 20:35:36
629
原创 Java基础知识
一:java文件的运行与工作原理编译:通过javac命令将java源文件也就是将.java文件编译成.class文件执行:先启动java虚拟机,通过JVM java命令加载.class文件并加载main方法执行程序二:JDK JRE JVM的关系JDK–Java DevelopmentKit是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JREJava工具和Java基础类库。JRE–Java Runtime Environment是运行JAVA的运行时环境,包含J
2020-09-01 23:32:48
167
原创 HttpClient的原理使用
一:HttpClient的介绍HttpClient是用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议,所以HttpClient实现了Http全部的方法.二:HttpClient的流程原理创建HttpClient对象。创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。如果需要发送请求参数,可调用HttpGet、HttpPost共同的setPa
2020-08-20 12:10:49
1256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人