`
文章列表
在Java集合中有一种特殊的Map类型:WeakHashMap。 WeakHashMap 继承于AbstractMap,实现了Map接口。 和HashMap一样,WeakHashMap 也是一个散列表,它存储的内容也是键值对(key-value)映射,而且键和值都可以是null。 不过WeakHashMap的键是“弱键”,里面存放了键对象的弱引用,当某个键不再正常使用时,会从WeakHashMap中被自动移除。当一个键对象被垃圾回收,那么相应的值对象的引用会从Map中删除。WeakHashMap能够节约存储空间,可用来缓存那些非必须存在的数据。 那么这个“弱键”的原理呢?大致上是通过WeakR ...
spring.xml文件中配置: <!-- 存储区域设置信息 SessionLocaleResolver类通过一个预定义会话名将区域化信息存储在会话中 从session判断用户语言defaultLocale :默认语言--> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"> <property name="defaultLocale" ...
java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap. Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。 Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。 HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一 ...
pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。 <pre> 标签的一个常见应用就是用来表示计算机的源代码。 做网页即时聊天时的文字输入框采用<pre>标签。 <div class="chat_online"> <!--输入框--> <pre class="pre_message" contenteditable="true" contenteditable-directive=" ...
什么是OAuth? OAuth(Open Authorization,开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。 HTTP基本认证是一种用来允许Web浏览器,或其他客户端程序在请求时提供以用户名和口令形式的凭证的登录方式。用户名追加一个冒号然后串接上口令,得出的结果字符串再用Base64算法编码。例如,用户名是: admin,口令是: admin123,拼接后的结果是: admin:admin123,然后再用Base64编码,得到YWRtaW46YWRtaW4xMjM=。Base64 ...
SpringBoot 的 @Import 用于将指定的类实例注入到Spring IOC Container中。 SpringBoot 提供了 三种使用 @Import 将 类实例注入至 Spring IOC Container中 的实例。 1.直接注入 2.实现 ImportBeanDefinitionRegistrar 接口 注入 3.实现 ImportSelector 注入 直接注入 Broker.java(无任何属性和实现) package com.springBoot.entrance.importBean.direct; public class Broker { ...
Spring Boot的强大之处在于使用了Spring 4框架的新特性:@Conditional注释,此注释使得只有在特定条件满足时才启用一些配置。 下面来介绍如何使用Condition 首先写一个类 package com.test.spring; import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.core.type ...
自定义starter pom 自己实现一个简单的例子,当某个类存在的时候,自动配置这个Bean,并且可以讲这个属性在application.properties中配置 新建一个maven项目(需要引入spring-boot-autoconfigure) Pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt ...

java RESTful 详解

(1)每一个URI代表一种资源,独一无二; (2)客户端和服务器之间,传递这种资源的某种表现层; (3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。 值得注意的是RESTful风格的RUI中是不包含动词的。 1. 什么是REST   REST全称是Representational State Transfer,中文意思是(资源)表述性状态转移。 REST指的是一组架构约束条件和原则。 如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。   REST本身并没有创造新的技术、组件或服务,而隐藏在RESTful背后 ...
Springboot的自动配置是SpringBoot的关键,主要是通过@Conditional这个注解来进行配置。 1.@Conditional @Conditional这个注解指的是:满足某一个特定条件创建一个特定的Bean,也就是说根据特定条件来控制Bean的创建行为,就可以通过这个特性来进行一些自动配置。 比如根据不同的环境类型打印出来不同的信息 (1)类实现Condition接口,这个类也就是会作为@Conditional的值传入,作为一个判断条件,返回值为boolean public class WindowsCondition implements Condition { ...
server: ssl: key-store: classpath:key/rsakey.jks key-store-password: 123456 key-store-type: JKS key-alias: tomcatjks urls: /* port: 8443 non-ssl-port: 8080 1.Http请求工具类 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStre ...
原来的查询语句 FROM table1 t LEFT JOIN ( SELECT regcert_id, count(1) AS num FROM table2 GROUP BY regcert_id ) t1 ON t1.table1_id = t.id 改造后 先把 SELECT regcert_id, count(1) AS num FROM table2 GROUP BY regcert_id 查询出来的数据写入到新表中 如table2 优化后的语句 FROM table1 t LE ...
优点:    1.去除了大量的xml配置文件    2.简化复杂的依赖管理    3.配合各种starter使用,基本上可以做到自动化配置    4.快速启动容器    5. 配合Maven或Gradle等构件工具打成Jar包后,Java -jar 进行部署运行还是蛮简单的 创建独立Spring应用程序,嵌入式Tomcat,Jetty容器,无需部署WAR包,简化Maven及Gradle配置,尽可能的自动化配置Spring,直接植入产品环境下的实用功能,比如度量指标、健康检查及扩展配置等,无需代码生成及XML配置。 缺点:    1.从原来的xml配置方式转换到JAVA配置方式变化有点 ...
Vue.js 组件 // 组件(Component)是 Vue.js 最强大的功能之一。 // 组件可以扩展 HTML 元素,封装可重用的代码。 // 组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树: // 注册一个全局组件语法格式如下: Vue.component(tagName, options) // tagName 为组件名,options 为配置选项。注册后,我们可以使用以下方式来调用组件: <tagName></tagName> // 全局组件 // 所有实例都能用全局组件。 ...
属性: vm.$el:获取Vue实例关联的DOM元素 vm.$data:获取Vue实例的data选项(对象) vm.$options:获取Vue实例的自定义属性(如vm.$options.methods,获取Vue实例的自定义属性methods) vm.$refs:获取页面中所有含有ref属性的DOM元素(如vm.$refs.hello,获取页面中含有属性ref = “hello”的DOM元素,如果有多个元素,那么只返回最后一个); var app = new Vue({ el:"#container", ...
Global site tag (gtag.js) - Google Analytics