![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习笔记
alextongtong
遇见不一样的自己~~
展开
-
Docker启动过程中常见错误解决
错误:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?如果在Centos7上执行: systemctl daemon-reload sudo service docker restart报出新的错误: Redirecting to /bin/systemctl restart docker....原创 2021-10-29 14:52:50 · 725 阅读 · 0 评论 -
输入年份,然后打印出该年的万年历,以及标识出当天日期。类似于linux下的cal -y结果。
package com.qunar.training.questionDate;public class Permanent {public static boolean isLeapYear(int year){//能被4整除但不能被100整除,或者能被400整除boolean leapYear = false;if((year % 100 == 0 && year %原创 2015-07-14 15:42:45 · 1471 阅读 · 0 评论 -
java中ssh框架
1.MVC三层架构:模型层,控制层和视图层。模型层,用Hibernate框架让来JavaBean在数据库生成表及关联,通过对JavaBean的操作来 对数据库进行操作;控制层,用Struts框架来连接数据层和视图层的,接收、处理、发送数据并控制流程;视图层,用JSP模板把页面展现给用户以及提供 与用户的交互。而Spring框架粘合了Hibernate和Struts,透明的管理了整个架构,提供IOC转载 2015-06-17 17:26:42 · 717 阅读 · 0 评论 -
jdk1.8新特性
一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:复制代码代码如下:interface Formula { double calculate(int a); default double sqrt(int a) { retur转载 2014-10-14 10:20:00 · 566 阅读 · 0 评论 -
Java反射机制的一些问题
SSH框架采用的技术:xml配置wenj原创 2014-08-27 10:24:55 · 597 阅读 · 0 评论 -
java转Andriod
最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助。 啰哩啰嗦的说说Java和Android程序的区别:Android是主流智能手机的操作系统,Java是一种开发语言,两者没有好坏优劣之分,只是两种职业岗位的选择。学安卓从事移动互联方向开发,学Java从事软件、网站开发。而安卓上转载 2014-10-01 18:30:03 · 1224 阅读 · 0 评论 -
java如何实现一个LRU Cache
如何设计实现一个LRU Cache?系统目录1. 什么是LRU Cache?2.实现思路1. 什么是LRU Cache?之前,在LeetCode上看到一个LRU Cache实现的题目,题目描述是这样的:Design and implement a data structure for Least转载 2016-04-05 22:35:14 · 1785 阅读 · 0 评论 -
java日志设置及常用配置
项目开发中,记录错误日志有以下好处:方便调试便于发现系统运行过程中的错误存储业务数据,便于后期分析在java中,记录日志有很多种方式:自己实现 自己写类,将日志数据,以io操作方式,写数据到文本文件、数据库中。使用log4j log4j可以将日志输出到console窗口、文本文件、数据库等,功能强大!使用slfj s转载 2016-05-03 23:54:17 · 5686 阅读 · 3 评论 -
Android Studio --基础介绍之Gradle详解
其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧。什么是Gradle?Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DS转载 2016-05-09 15:41:38 · 320 阅读 · 0 评论 -
Android Studio从入门到精通
AS简介经过2年时间的研发,Google终于正式发布了面向Android开发者的集成开发环境Android Studio 1.0(稳定版)。Android Studio是Google开发的一款面向Android开发者的IDE, 支持Windows、Mac、Linux等操作系统,基于流行的Java语言集成开发环境IntelliJ搭建而成。该IDE在2013年5月的Google I/O开发者大转载 2016-05-09 16:05:08 · 651 阅读 · 0 评论 -
maven自动部署插件配置
Java程序员常常有这样的困惑,每天开发项目的时候都要重复着“写代码 -> 打包 -> 停止服务 -> 部署代码 -> 启动服务 -> 测试”。尤其是当项目的历史比较长,目录结构比较混乱的时候更是如此。这其中有很多时间都花在了手动启停服务,部署包上面了。今天就说说怎样使用Maven的插件来实现自动“打包 -> 停止服务 -> 部署代码 -> 启动服务”。修改Maven的配置文件pom.转载 2016-06-14 22:08:27 · 470 阅读 · 0 评论 -
Parcelable接口的使用
Parcelable接口的使用 什么是Parcelable ? Parcelable,定义了将数据写入Parcel,和从Parcel中读出的接口。一个实体(用类来表示),如果需要封装到消息中去,就必须实现这一接口,实现了这一接口,该实体就成为“可打包的”了。 Parcelable 传递对象 Android序列化对象主要有两种方法:原创 2016-07-18 19:23:36 · 281 阅读 · 0 评论 -
java中关于范型使用的小技巧
我们都知道关于java中范型的使用比较蛋疼,下面就说下我们常用的两种声明方式:public void takeThing(ArrayList list)上面这种方式相同的声明为:public void takeThing(ArrayList list)既然上面的方式都一样,为什么还有问号那一个呢这是因为当有两个参数时,只声明一次会比较高效publi原创 2016-08-08 15:52:52 · 375 阅读 · 0 评论 -
Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造转载 2016-08-23 14:51:42 · 337 阅读 · 0 评论 -
java 中bug:Return an empty array rather than null. 解决
CODEprivate static File[] foo() { return Collections.emptyList().toArray(new File[0]);}private static File[] bar() { return new File[0];}想要返回一个empty 的array的方式:private static final File[] NO...原创 2018-06-06 10:53:27 · 2402 阅读 · 0 评论 -
kafka的核心参数配置
2. kafka配置参数broker.id:broker的id,id是唯一的非负整数,集群的broker.id不能重复。log.dirs:kafka存放数据的路径。可以是多个,多个使用逗号分隔即可。port:server接受客户端连接的端口,默认6667zookeeper.connect:zookeeper集群连接地址。格式如:zookeeper.connect=server01...原创 2019-08-20 15:23:38 · 1115 阅读 · 0 评论 -
java中重载和重写的区别
重写方法的规则如下:1. 参数列表:必须与被重写方法的参数列表完全匹配。 2. 返回类型:必须与超类中被重写的方法中声明的返回类型或子类型完全相同 3. 访问级别:一定不能比被重写方法强,可以比被重写方法的弱。 4. 非检查异常:重写方法可以抛出任何非检查的异常,无论被重写方法是否声明了该异常。 5. 检查异常:重写方法一定不能抛出新的检查异常,或比被重写方法声明的检查异常转载 2014-10-09 14:54:35 · 444 阅读 · 0 评论 -
java中static和final
Java关键字final、static使用总结 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final转载 2014-09-18 17:34:54 · 528 阅读 · 0 评论 -
写在最开始
很多时候都有种把自己学习过程中遇到的问题写下来,但是却一直没有实践,这次终于准备好了,开始我的不间断学习之旅。 UCAS_桐_Alex原创 2014-03-17 13:50:04 · 707 阅读 · 0 评论 -
用两种颜色去染排成一个圈的6个棋子,如果通过旋转得到则只算一种,一共有多少种染色:
假设有两种颜色AB,那么两种颜色的个数为P(m,n)则全A或者全B各有一种:P(6,0)=P(0,6)=1,共2种 P(5,1)=P(1,5)=1,共2种 P(4,2)=P(2,4)=3,共6种//相邻的一种AA原创 2014-04-01 10:45:21 · 5604 阅读 · 0 评论 -
#define PACK_STRUCT _attribute_ ((_packed_))编译器按字独立分配
定义编译器字节对齐方式gcc中,在某个变量x后使用“__attribute__((packed))”可以通知编译器保证字节对齐。在lwip中包是存储在结构体里,而结构体及其成员可能存在字节不对齐现象,32位/16位CPU不能正确读写这类数据,导致数据包操作错误。如下图:32位系统中,x为3字节,y为4字节,z为1字节。系统将不能正确读写y。 31原创 2014-04-01 13:54:46 · 2945 阅读 · 0 评论 -
阿里笔试总结
题目一:一个有10亿条记录的文本文件,已按照关键字排好序存储,设计算法,可以快速的从文件中查找指定关键字的记录答案:10亿在 G量级, 分成100份, 为10M量级, 基本上放入内存无压力了.在这10亿记录中, 均分为100份, 把每份的第一条记录关键字和此记录对应的文件偏移量先扫入内存(类似索引), 这里需要磁盘随机io 100次.这样可以马上定位出指定关键字所在的记录块转载 2014-04-01 15:24:42 · 891 阅读 · 0 评论 -
32bits系统中foo(2^31-3)的值
题目:int foo(int x){return x & -x}其中2^31-3=2147483645;二进制为01111 11111 11111 11111 11111 11111 01 取反二进制为10000 00000 00000 00000 00000 00000 11则结果为 x原创 2014-04-01 09:36:21 · 2448 阅读 · 0 评论 -
某二叉树的前序遍历序列为-+a*b-cd/ef,后序遍历序列为abcd-*+ef/-,问其中序遍历序列是
前序遍历为:根左右后序遍历为:左右根中序遍历为:左根右前序的:-+a*b-cd/ef中第一个出现的一定是最左面的叶子节点a,而最终的根节点一定是第一个符号-,-cd 和/ef一定为两个分支,则有 - / \ +原创 2014-04-01 15:07:44 · 7855 阅读 · 0 评论 -
java调用脚本
在Java 中如何调用各种脚本(shell,perl,python...)? 我们肯定会想到使用 Runtime.getRuntime().exec(cmd). 不过实际中根据需求会有更多更复杂的处理。 当有很多的脚本需要任务调度, 现在粗略给出一种解决办法 。1. 开启一个服务端(单独的线程)专门来接受脚本Java代码 public class ScriptRu转载 2014-03-26 10:49:33 · 674 阅读 · 0 评论 -
java内存分配
Java作为C/C++发展出来的语言,最大的区别就是对程序员管理屏蔽了内存管理的部分,java中没有了指针的概念,所有动态内存的分配和释放都在Java底层里自动完成。Java的程序会把其占用的内存大概分成4个部分:1.stack栈区:跟C一样,存放局部变量、函数参数等。。2.Heap堆区:存放动态分配的内存变量,只不过动态分配内存的方式跟C不同。3.数据区:相当于C的static区原创 2014-07-27 17:08:25 · 507 阅读 · 0 评论 -
java中gc的整理
gc 只能清除在堆上分配的内存(纯java语言的所有对象都在堆上使用new分配内存),而不能清除栈上分配的内存(当使用JNI技术时,可能会在栈上分配内存,例如java调用c程序,而该c程序使用malloc分配内存时).因此,如果某些对象被分配了栈上的内存区域,那gc就管不着了,对这样的对象进行内存回收就要靠finalize().原创 2014-07-23 22:29:55 · 677 阅读 · 0 评论 -
java中map的两种遍历
public static void testEntry(){ Map, String> map = new HashMap, String>(); map.put(1,"wangzhaotong"); map.put(2,"huwenjing"); map.put(3,"daidai"); //第一种遍历map的方法++ Set, String>>原创 2015-07-13 21:05:41 · 462 阅读 · 0 评论 -
spring注解之@service等
很长时间没做web项目都把以前学的那点框架知识忘光了,今天把以前做的一个项目翻出来看一下发现用·@Component标记一个组件,而网上有的用@Service标记组件,我晕就查了一下资料:Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。在目前的 Spring转载 2015-08-11 14:44:02 · 463 阅读 · 0 评论 -
java的十个简单的性能优化
你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧。最近“全网域(Web Scale)”一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加“全网域”。但是究竟什么是全网域?或者说如何确保全网域?扩展的不同方面全网域被炒作的最多的是扩展负载(Scaling lo转载 2015-11-04 10:17:33 · 441 阅读 · 0 评论 -
java注解
java中元注解有四个: @Retention @Target @Document @Inherited; @Retention:注解的保留位置 @Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy.CL转载 2015-08-05 14:34:23 · 359 阅读 · 0 评论 -
java中如何判断一个字符是中文字符
因为java中字符类型char是以unicode存储的 所以不管是中文字符还是英文字符 都可以通过判断char的Unicode范围boolean isCnorEn(char c){if((c >= 0x0391 && c <= 0xFFE5) //中文字符 || (c>=0x0000 && c<=0x00FF)) //英文字符return true;return false原创 2015-07-03 10:49:36 · 2271 阅读 · 0 评论 -
Spring MVC 原理详解
学习目的:1.掌握spring MVC开发步骤2.理解实现原理3.理解框架运行时原理一.原理小结主要由DispatcherServlet、处理器映射、处理器、视图解析器、视图组成1.DispatcherServlet接收到一个HTTP请求,根据对应配置文件中的处理机映射,找到处理器(Handler)转载 2015-08-24 13:56:42 · 877 阅读 · 1 评论 -
计算机系统的引导过程
1.启动时先BIOS自检,,随后寻找启动设备,硬盘上有一个位置保存的有MBR,那么从MBR开始找到系统启动分区并加载BOOTLOADER(系统引导),由BOOTLOADER决定启动哪一个系统,比如Windows,Linux的选择,,确定启动后,BOOTLOADER将引导权限交于系统文件,然后把系统的文件按照一定的顺序加载的到内存中,随后启动服务,加载启动项,成功启动。原创 2014-03-28 15:30:37 · 778 阅读 · 0 评论