![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
gcc_front
兜兜转转,工作之余,把学得的东西共享下
展开
-
java解惑学习经历(一)
解惑是一本关于java基础的书籍,内jdk版本较低,但仍值得一读,有很多基础但非常重要的思想。下面进行一些举例和解惑:1:package com.gcc.javaRiddle;import java.math.BigDecimal;public class Accuracy { public static void main(String[] args) { Syst原创 2018-01-22 17:34:01 · 366 阅读 · 0 评论 -
java8类库简单了解(二)Math
这里笔者注意和好奇的方法是:addExact(),subtractExact(),multiplyExact(),incrementExact(),decrementExact(),negateExact(),toIntExact这几个是java8新增的方法,如果调用就简单规避了基本数据类型转换时的溢出问题。摘录部分源码:package java.lang;import java.util.Ra...原创 2018-03-29 16:52:20 · 1701 阅读 · 0 评论 -
mysql读写分离简单实现-win7
仅为测试,选择在一台机器上装两个tomcat,没有使用常规的两台或多台服务器,读写分离在之前的demo项目中也会结合进去。一、复制出第二个mysql数据库1,将你的mysql文件夹直接拷贝到另一个目录。如我的拷贝到了D:\work\mysql\MySQL52,修改my.ini文件,修改以下参数:两个位置需要重新设置端口:port=3307路径配置,如:basedir="D:/work/mysql/...原创 2018-04-12 17:33:15 · 569 阅读 · 0 评论 -
java基础·杂(http请求方式)
标准Http协议请求方法,如: 0,GET 1,HEAD 2,PUT 3,DELETE 4,POST 5,OPTIONS 我们大部分情况下只用到了GET和POST。下面依次简单说明这六种。 0,GET:GET可以说是最常见的了,它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包...转载 2018-05-09 09:42:35 · 148 阅读 · 0 评论 -
java基础记录·杂(instanceof与getClass)
在比较一个类是否和另一个类属于同一个类实例的时候,我们通常可以采用instanceof和getClass两种方法通过两者是否相等来判断,但是两者在判断上面是有差别的,下面从代码中看看区别:public class Test { public static void testInstanceof(Object x) { System.out.print...转载 2018-05-04 13:35:57 · 99 阅读 · 0 评论 -
java基础记录·杂(while、split、位运算符)
一、split截取是将所有子串放入数组里,若大量操作效率较低,可以用StringTokenizer替换。测试如下:package gcc.mix.test;import java.util.StringTokenizer;/** * Created by gcc on 2018/5/4. * 单纯截取字符串用substring,少量长字符串截取取值可以用split,大量的话用StringT...原创 2018-05-04 15:12:15 · 150 阅读 · 0 评论 -
java8类库简单了解(四)String
常用方法:1,字符串中包含的字符数,也就是字符串的长度:int length()2,根据位置获取位置上的某个字符:char charAt(int index)3,根据字符获取该字符在字符串中的位置: int indexof(String str);int indexof(String str,int fromIndex)4,字符串中是否包含某一个子串:boolean contains(str)5,...原创 2018-05-04 16:16:24 · 245 阅读 · 0 评论 -
java基础·杂(NIO之ByteBuffer)
接触了NIO的东西,这里记下,方便以后查阅。1,NIOJava NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Channels and Buffers(通道和缓冲区) 标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总...原创 2018-06-04 15:52:44 · 158 阅读 · 0 评论 -
java8类库简单了解(一)Object
这里主要了解如下几个类:java.lang 包这个包称为 java 语言包,是由编译器自动引入的。程序中不必用 import 语句就可以使用。它所包含的类和接口对所有实际的 Java 程序都是必要的。1. object 类2. 数学类 (Math)3. 数据类型类4. 线程类5. 字符串类 (String 类和 StringBuffer ...原创 2018-03-29 15:38:18 · 174 阅读 · 0 评论 -
java多线程初探(一)构建线程安全类
这里先记录一些基础概念和说明一、构建线程安全类方式如果多个线程访问同一个可变的状态变量时,没有使用合适的同步,那就会出现不可预知的错误,修复方式如下:1、不在线程之间共性这个变量(线程封闭)2、将变量修改为不可变(final)3、在访问变量时使用同步(同步代码块)二、无状态对象无状态对象一定是线程安全的,无状态对象定义如下:/** * 有状态bean:包含实例变量对象,如这里的user */...原创 2018-03-29 14:21:57 · 173 阅读 · 0 评论 -
阿里云centos7.2部署笔录--配置jre(二)
想要运行java项目,需要有jre环境,这里对jre配置做笔录1,先下载jre,地址如下:http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html2,把下载的jre通过ftp传到云服务器将文件拖拽到服务器data目录下即可,因为是远程,传输时间可能较久。3,查看是否存在,然后...原创 2018-04-04 11:18:03 · 166 阅读 · 0 评论 -
java代码优化随笔(一)
一:不要盲目用自动拆装类public static void main(String[] arg){Long sum=0L;for(int i=0;i<10000;i++){sum=sum+i;}System.out.println(i);}这种写法,结果正确,但计算时间会比预计长,因为Long是自动装箱类型,不是基本类型,在相加时需要new Long(),而新建对象大大增加了计算时间二:避...原创 2017-08-25 15:48:06 · 186 阅读 · 0 评论 -
java多线程初探(二)构建线程安全类
上一篇记录了多线程的简单使用,这里接着记录。一、可见性可见性:读操作和写操作在两个线程时,不能保证读操作可以实时的看到其他线程写入的值,如果能保证则说拥有可见性保证可见性方法:1,当一个共享变量被volatile修饰时,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,它会去内存中读取新值(而不是高速缓存中)。2,通过synchronized和Lock也能够保证可见性,synchroni...原创 2018-03-30 11:00:29 · 142 阅读 · 0 评论 -
java8类库简单了解(三)Runnable和Thread
1,Runnable接口源码如下:package java.lang;/** * @since JDK1.0 */@FunctionalInterfacepublic interface Runnable { public abstract void run();}以前没注意,这一看让笔者有点惊讶,极简爆了2,Thread部分源码如下:package java.lang;...原创 2018-03-30 17:09:43 · 1215 阅读 · 0 评论 -
java多线程初探(三)并发容器
这里记录一些并发容器的概念。一、ConcurrentHashMapConcurrentHashMap(CHM)是在java1.5作为Hashtale的代替选择新引入的。java1.5前在多线程和并发环境下使用Map只能选择Hashtable或者synchronizedMap(HashMap不是线程安全的所以不能使用)。java1.5后可以使用ConcurrentHashMap,它大量的利用了vol...原创 2018-03-30 14:11:05 · 859 阅读 · 0 评论 -
java编程思想随笔(三)/访问指示符和package和import
一、进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开。对于这一点,库的设计者需要时刻谨记。Java 推出了“访问指示符”的概念,允许库创建者声明哪些东西是客户程序员可以使用的,哪些是不可使用的。库设计者,应将所有东西都尽可能保持为“private”(私有),并只展示(public)出那些想让客户程序员使用的方法。默认:如果根本不指定访问指示符,默认的访问没有关键字...原创 2018-03-28 10:28:07 · 134 阅读 · 0 评论 -
java编程思想随笔(一)/子类方法和向上转型
子类怎么使用方法:(1)添加新方法。这些新方法并非父类接口的一部分。进行这种处理时,一般都是意识到父类不能满足我们的要求,所以需要添加更多的方法。这是一种最简单、最基本的继承用法,大多数时候都可完美地解决我们的问题。(2)重写父类方法。尽管extends关键字暗示着我们“扩展”新功能(方法),但实情并非肯定如此。改变父类一个现有方法的行为(重写)。我们将其称作“改善”那个方法。改善一个方法,只需为...原创 2017-08-18 15:46:11 · 436 阅读 · 0 评论 -
java8部分特性记录
笔者认识到的java比较重要的阶段是java5以及java8。这里记录java8的一些新特性一、Lambda表达式和函数式接口Lambda读音和数学的λ读音一样,Lambda表达式也叫闭包,它允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据处理。Lambda表达式可由逗号分隔的参数列表、->符号和语句块组成,例如:Arrays.asList( "a", "b", "d" ).fo...转载 2018-04-11 10:56:25 · 90 阅读 · 0 评论 -
java基础·杂(InetAddress)
在了解DNS解析时,缓存方面,再具体到java上,于是记录下InetAddressjava的JVM会缓存DNS的解析结果,这个缓存在InetAddress类里完成,InetAddress一旦得到一个给定主机的地址,就会缓存起来,即使重新定义一个InetAddress类,也不会重新再获取一次,而是直接从缓存中获取。并且有两种缓存策略,一种是:正确的解析结果缓存,另一种是:失败的解析结果缓存。分别由j...转载 2018-07-02 19:15:12 · 131 阅读 · 0 评论