当前位置: 首页 > 编程日记 > 正文

Java学习笔记(二)不定时更新

Java语言画图

package cn.witksy.dev;import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;/*** Author: Alfred* Created: 2015/5/7*/
public class Main {public void run() {BufferedImage bufferedImage = new BufferedImage(100,50,BufferedImage.TYPE_INT_ARGB);Graphics2D g2 = bufferedImage.createGraphics();g2.setColor(Color.red);g2.fillRect(0,0,5,5);g2.setColor(Color.blue);g2.fillRect(10,20,5,5);File outputFile = new File("D:\\dev\\java\\workspace\\draw2dtest\\test.png");try {ImageIO.write(bufferedImage, "png", outputFile);} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {new Main().run();}
}

不循环,直接打印List元素

[12.3, 1.3, 10.3]

<span style="font-size:14px;">打印一个数组中的所有的元素:
1、使用for循环打印
2、将数组转化为有序的List打印出来
package com.inc.test;import java.util.Arrays;public class Test {public static void main(String[] args) {String names[] = { "Georgianna", "Tenn", "Simon", "Tom" };System.out.println(Arrays.asList(names));}
}</span>

命令行运行jar 并传参数

博客分类:
  • Java原创
Java
1.首先新建Test.java
Java代码  收藏代码
  1. public class Test  
  2. {
  3. public static void main(String[] args) {  
  4. String str = args[0];  
  5. System.out.println(str);
  6. }
  7. }

2.javac Test.java

3.jar cvf test.jar Test.class

//更新manifest.mf 将自己写的manifest.mf 放到Test.class目录
内容为 Main-Class: Test注意回车

4.jar umf MANIFEST.MF test.jar

5.java -jar test.jar 你的参数

其它方法请参考

http://www.cnblogs.com/lanxuezaipiao/p/3291641.html
下载net.sf.fjep.fatjar_0.0.31   http://pan.baidu.com/s/1sj0uawX
或者参考
http://jingyan.baidu.com/article/219f4bf7d0ef87de442d3820.html
在编译和运行时我们也要加上依赖的jar包,需要注意的是,使用 java -cp 有额外的jar的时候:在Linux下面ClassPath前面是一个点号加一个冒号;在Windows下面ClassPath前面是一个点号加一个分号

http://blog.csdn.net/czw698/article/details/44353453

Java控制台输出信息console重定向到文件,后恢复到console
 1 import java.io.FileNotFoundException;
 2 import java.io.PrintStream;
 3 
 4 public class Test {
 5     
 6     public static void main(String[] args){
 7         PrintStream o = System.out;  
 8         try {
 9             System.setOut(new PrintStream("1.txt")); //重定向到文件1.txt
10         } catch (FileNotFoundException e) {
11             // TODO Auto-generated catch block
12             e.printStackTrace();
13         }  
14         System.out.println("line1");  
15         System.setOut(o);  //重定向恢复到控制台
16         System.out.println("line2");  
17     }
18 
19 }

得到指定时间和指定周期的详细日期时间

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;/*** 得到指定时间和指定周期的详细日期时间* @author DBClient**/
public class TestTime {private static final SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");private static final SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd");public static void main(String[] args) throws Exception {// String timeTmp = "00:00";// Calendar tmpCal = Calendar.getInstance();// tmpCal.setTime(df2.parse(timeTmp));// tmpCal.add(Calendar.MINUTE, -5);//        // //System.out.println(df2.format(tmpCal.getTime()));// int j = 1;// while(j <= 2){// System.out.println(Math.pow(-1, j));// j++;// }String test = "2016-01-23";// new TestTime().calcTime(test);new TestTime().getMonth();new TestTime().getWeek();new TestTime().getQuarter();new TestTime().getYear();}public void calcTime(String testTime) {try {//
Date times = df2.parse(testTime);Calendar cal = Calendar.getInstance();cal.setTime(times);cal.add(Calendar.DATE, -7);cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);System.out.println(df2.format(cal.getTime()));cal.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);System.out.println(df2.format(cal.getTime()));//cal.add(Calendar.MONTH, -1);cal.set(Calendar.MONTH, 0);System.out.println(df2.format(cal.getTime()));System.out.println(cal.get(Calendar.MONTH) + 1);// 季度//// cal.add(Calendar.WEEK_OF_MONTH, -1);// System.out.println(df2.format(cal.getTime()));// //cal.add(Calendar.MONTH, -1);// System.out.println(df2.format(cal.getTime()));// System.out.println(cal.get(Calendar.WEEK_OF_YEAR));} catch (Exception e) {e.printStackTrace();}}/*** 月* @throws Exception*/public void getMonth() throws Exception {String test = "2015-02-23";List<String> ret = new ArrayList<String>();Date times = df2.parse(test);Calendar cal = Calendar.getInstance();cal.setTime(times);cal.add(Calendar.MONTH, -1);int month = cal.get(Calendar.MONTH);int year = cal.get(Calendar.YEAR);cal.set(year, month, 1);while(cal.get(Calendar.MONTH) == month){ret.add(df2.format(cal.getTime()));cal.add(Calendar.DATE, 1);}System.out.println(ret);}/*** 周* @throws Exception*/public void getWeek() throws Exception {String test = "2016-01-09";List<String> ret = new ArrayList<String>();Date times = df2.parse(test);Calendar cal = Calendar.getInstance();cal.setTime(times);cal.add(Calendar.DATE, -7);cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);while(ret.size() < 7){ret.add(df2.format(cal.getTime()));cal.add(Calendar.DATE, 1);}System.out.println(ret);}public void getQuarter() throws Exception {String test = "2016-03-01";List<String> ret = new ArrayList<String>();Date times = df2.parse(test);Calendar cal = Calendar.getInstance();cal.setTime(times);cal.add(Calendar.MONTH, -3);int year = cal.get(Calendar.YEAR);int month = cal.get(Calendar.MONTH);if(month >= 0&& month < 3){month = 0;}else if(month >= 3 && month < 6){month = 3;}else if(month >= 6 && month < 9){month = 6;}else if(month >= 9 && month < 12){month = 9;}cal.set(year, month, 1);while(cal.get(Calendar.MONTH) <= month + 2 && cal.get(Calendar.YEAR) == year){ret.add(df2.format(cal.getTime()));cal.add(Calendar.DATE, 1);}System.out.println(ret);}public void getYear() throws Exception {String test = "2016-05-09";List<String> ret = new ArrayList<String>();Date times = df2.parse(test);Calendar cal = Calendar.getInstance();cal.setTime(times);cal.add(Calendar.YEAR, -1);int year = cal.get(Calendar.YEAR);cal.set(year, 0, 1);while(cal.get(Calendar.YEAR) == year){ret.add(df2.format(cal.getTime()));cal.add(Calendar.DATE, 1);}System.out.println(ret);}}
计算指定日期的指定时间段的明细

 Java 依赖包相关运行技巧

有时候不能向服务器上传jar包,或者交涉过于繁琐;只有复制粘贴的权限可采取:
1 上传jar包的解压文件,可用zip解压
2 把自己的源码复制粘贴到解压文件的目录下,即可找到依赖包或者把jar包添加到java的LibClass path目录下

导出乱码:
1、可能是linux缺少中文
命令:locale
命令:fc-list :lang=zh2、可能是jdk缺少中文simsun.ttc
放:$JAVA_HOME/jreb/fonts/fallback

simsun.ttc下载: http://pan.baidu.com/s/1jHy5Uaq

JAVA多态原理解释

//定义超类superA  
class superA  
{  
int i = 100;  
void fun()  
{  
System.out.println(“This is superA”);  
}  
}  
//定义superA的子类subB  
class subB extends superA  
{  
int m = 1;  
void fun()  
{      
System.out.println(“This is subB”);  
}  
}  
//定义superA的子类subC  
class subC extends superA  
{  
int n = 1;  
void fun()  
{      
System.out.println(“This is subC”);  
}  
}  
class Test  
{  
public static void main(String[] args)  
{  
superA a;  
subB  b = new subB();  
subC  c = new subC();  
a=b;  
a.fun();  (1)  
a=c;  
a.fun();  (2)  
}  
}/*
运行结果为:This is subBThis is subC上述代码中subB和subC是超类superA的子类,我们在类Test中声明了3个引用变量a, b, c,通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。也许有人会问:“为什么(1)和(2)不输出:This is superA”。java 的这种机制遵循一个原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。所以,不要被上例中(1)和(2)所迷惑,虽然写成a.fun(),但是由于(1)中的a被b赋值,指向了子类subB的一个实例,因而(1)所调用的fun()实际上是子类subB的成员方法fun(),它覆盖了超类superA的成员方法fun();同样(2)调用的是子类subC的成员方法fun()。另外,如果子类继承的超类是一个抽象类,虽然抽象类不能通过new操作符实例化,但是可以创建抽象类的对象引用指向子类对象,以实现运行时多态性。具体的实现方法同上例。不过,抽象类的子类必须覆盖实现超类中的所有的抽象方法,否则子类必须被abstract修饰符修饰,当然也就不能被实例化了。
*/http://developer.51cto.com/art/200909/153887.htm
java多态解释

JAVA多线程样例

public class Test implements Runnable {private String name;private static int flag = 0;public Test(String name) {this.name = name;}@Overridepublic void run() {while (flag < 100) {flag++;System.out.println(name + ": " + flag);}}public static void main(String[] args) {long startTime = System.currentTimeMillis();for (int i = 0; i < 2; i++) {new Thread(new Test("thread-" + (i + 1))).start();}long endTime = System.currentTimeMillis();System.out.println("spend times: " + (endTime - startTime) / 1000+ " s");}}
java 多线程样例

转载于:https://www.cnblogs.com/hdu-2010/p/4588989.html

相关文章:

Java项目:前台后台玩具商城系统(java+JSP+SSM+Springboot+Jsp+maven+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述本系统主要实现的功能有&#xff1a; 网上商城系统&#xff0c;前台后台管理&#xff0c;用户注册&#xff0c;登录&#xff0c;商品展示&#xff0c;分组展示&#xff0c;搜索&#xff0c;收货…

Tempdb数据库详细介绍

Tempdb数据库详细介绍一、Tempdb简介tempdb是SQLServer的系统数据库一直都是SQLServer的重要组成部分&#xff0c;用来存储临时对象。可以简单理解tempdb是SQLServer的速写板。应用程序与数据库都可以使用tempdb作为临时的数据存储区。一个实例的所有用户都共享一个Tempdb。很明…

java——逻辑运算符与(和)或(|和||)

区别&#xff1a; 1意思不同&#xff1a; &&是“与”的意思&#xff0c;||是“或者”的意思。 2 使用上不同&#xff1a;a && b&#xff1a;a和b同时为true 才返回 true&#xff0c; 否则返回false&#xff1b;a || b&#xff1a;a或b任意一个为true 就返回tru…

UTRAN 的用户面和控制面

UTRAN接口的通用协议模型如下图&#xff1a; 通俗地讲&#xff0c;通讯网络由终端(terminal)、连接(links)、网络节点(nodes)组成, links将nodes 关联起来。源终端(MO)发送的消息是怎样才能到目的终端(MT)呢? 消息经过links 和nodes,直至到达MT&#xff0c;其中关键是nodes怎么…

Java项目:疫情人员流动管理系统(java+JSP+SSM+Springboot+maven+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 本系统主要实现的功能有&#xff1a; 社区疫情流动人员管理系统&#xff0c;住户管理&#xff0c;出入管理&#xff0c;访客管理&#xff0c;体温录入&#xff0c;高风险警示等等。 二、项目运…

[原创]CentOS下Mysql双机互为备份

一、环境&#xff1a; 1.安装Centos-6.5-x64位系统的机器两台&#xff1a; host1&#xff1a;192.168.2.3 host2&#xff1a;192.168.2.4 &#xff08;互相能ping通&#xff09; 2.安装Mysql。 命令&#xff1a;Yum install mysql-* 二、配置&#xff1a; 1、启动mysql。命令&…

《Effective Java》读书笔记--创建和销毁对象

2019独角兽企业重金招聘Python工程师标准>>> 考虑用静态工厂方法代替构造函数。 当我们在写一个工具类时&#xff0c;是不希望用户将该类实例化的&#xff0c;所以应该定义一个private的构造函数&#xff0c;而不 是将类声明成abstract&#xff0c;因为这样用户可以…

用chrome的snippets片段功能创建页面js外挂程序,从控制台创建js小脚本

用chrome的snippets片段功能创建页面js外挂程序&#xff0c;从控制台创建js小脚本 Chrome的snippets是小脚本&#xff0c;还可以创作并在Chrome DevTools的来源面板中执行。可以访问和从任何页面运行它们。当你运行一个片段&#xff0c;它从当前打开的页面的上下文中执行。 要创…

两个类相互包含引用的问题--类前向声明

在构造自己的类时&#xff0c;有可能会碰到两个类之间的相互引用问题&#xff0c;例如&#xff1a;定义了类A类B&#xff0c;A中使用了B定义的类型&#xff0c;B中也使用了A定义的类型 class A { int i; B b; } class B { int i; A* a; } 请注意上面的定义内…

Java项目:网上电子书城项目(java+SSM+JSP+maven+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 项目描述&#xff1a; spring mvc jsp实现的简单书城项目&#xff0c;可以在支付宝沙箱内实现支付 运行环境&#xff1a; jdk8tomcat9mysqlIntelliJ IDEA 项目技术&#xff1a; springspring mvcmybati…

[nowCoder] 局部最小值位置

定义局部最小的概念。arr长度为1时&#xff0c;arr[0]是局部最小。arr的长度为N(N>1)时&#xff0c;如果arr[0]<arr[1]&#xff0c;那么arr[0]是局部最小&#xff1b;如果arr[N-1]<arr[N-2]&#xff0c;那么arr[N-1]是局部最小&#xff1b;如果0<i<N-1&#xff…

log parser 微软iis 日志分析

Log Parser 2.2 您可以从 Microsoft 下载中心下载 Log Parser。 Log Parser 2.2 是一个功能强大的通用工具&#xff0c;它可对基于文本的数据&#xff08;如日志文件、XML 文件和 CSV 文件&#xff09;以及 Windows 操作系统上的重要数据源&#xff08;如事件日志、注册表、文件…

ubuntu 大小写指示的小工具

最近买个了小本lenovo x100e&#xff0c;结果发现这小本没有大小写指示灯&#xff0c;在windows用也无妨&#xff0c;不过我常常用这本在ubuntu中调试linux代码&#xff0c;vi 常用的编辑器&#xff0c;熟悉的都知道&#xff0c;大小写很关键的&#xff0c;用google搜了一下&am…

mysql主键约束和唯一性约束

主键约束和唯一性约束都是索引&#xff0c;它们的区别是&#xff1a; 主键字段可以确保唯一性&#xff0c;但主键字段不能为NULL.唯一性约束可以确保唯一性&#xff0c;但唯一性约束的字段可以为NULL唯一性约束对含有NULL的记录不起作用&#xff0c;即可以重复加入含有NULL的记…

Java项目:农资采购销售系统(java+SSM+Easyui+maven+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 项目描述&#xff1a; 一个完整的农资采购销售系统&#xff0c;系统分为前台会员注册登陆&#xff0c;农资信息浏览&#xff0c;农资详情信息查看&#xff0c;加入购物车&#xff0c;提交订单&#xff0c;付…

springMVC 拦截器

为什么80%的码农都做不了架构师&#xff1f;>>> 实现springMVC 拦截器步骤&#xff1a; 1.定义拦截器类HandlerInterceptor 继承HandlerInterceptor public class Interceptor implements HandlerInterceptor { /**preHandle&#xff1a;预处理回调方法&#…

django学习笔记--数据库中的多表操作

1.Django数据库----多表的新增操作 1.一对一模式下新增 创建一个详情对象&#xff0c;把这个对象赋值给创建的新的user对象 author_detail models.AuthorDetail.objects.create(addr上海,phone178****4789) # 直接设置author_detail为一个对象 author models.Author.objects.…

+z +Z compiler flag for HP

1. 今天遇到一问题&#xff0c;在sles11/vxworks下编译通过&#xff0c;但是在hpux下失败 2. 编译错误&#xff1a; /usr/ccs/bin/ld:DP relative code in file /projects/xxx/DERIVED/tfa_pa32-hpux.a(tfa02_pa32-hpux.o) -shared library must be position indep…

DP UVALive 6506 Padovan Sequence

题目传送门 /*题意&#xff1a;两行数字&#xff0c;相邻列一上一下&#xff0c;或者隔一列两行都可以&#xff0c;从左到右选择数字使和最大DP&#xff1a;状态转移方程&#xff1a;dp[i][j] max (dp[i][j], dp[1-i][j-1] a[i][j], dp[i/1-i][j-2] a[i][j]);要从前面一个转…

Java项目:基于遗传算法学校排课系统(java+Springboot+Maven+mybatis+Vue+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述本系统功能包括&#xff1a; 排课管理&#xff0c;课程管理&#xff0c;讲师管理&#xff0c;班级管理&#xff0c;学生管理&#xff0c;教学资料&#xff0c;学习文档&#xff0c;在线测试&…

冲刺周期会议七

一、会议时间&#xff1a;2014年5月6日20:30--21:00 二、会议地点&#xff1a;学院楼一楼大厅 三、会议目的:统计任务进度&#xff0c;记录会议问题 四、会议内容&#xff1a; 1、对近几天的项目进度进行总结&#xff1a; 由于刚刚开始学习安卓&#xff0c;无论是配置环境还是学…

chrdev字符设备几种注册方式的差异

数据结构 #define CHRDEV_MAJOR_HASH_SIZE 255static struct char_device_struct {struct char_device_struct *next;unsigned int major;unsigned int baseminor;int minorct;char name[64];struct file_operations *fops;struct cdev *cdev; /* will die */ } *chrdevs[CHRD…

ldconfig及 LD_LIBRARY_PATH

ldconfig及 LD_LIBRARY_PATH 1. 往/lib和/usr/lib里面加东西&#xff0c;是不用修改/etc/ld.so.conf的&#xff0c;但是完了之后要调一下ldconfig&#xff0c;不然这个library会找不到 2.想往上面两个目录以外加东西的时候&#xff0c;一定要修改/etc/ld.so.conf&#xff0c;然…

Java项目:诚途旅游系统(java+JSP+Spring+SSM+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 采用ssm架构实现的旅游网站系统 包括网站展示和后台管理功能&#xff0c;网站主要是页面浏览以及评论、制定旅游方案、智能推荐功能 后台就是维护网站展示的内容&#xff0c;添加旅游景点、管理用户、查看…

combotree

1&#xff0c;直接获取&#xff1a; 单选&#xff1a;$("#id").combotree("getValue") 多选&#xff1a;$("#id").combotree("getValues") 注意&#xff1a;如果value中的值和所显示的文本不同&#xff0c;如需获取文本内…

SCRIPT1028:缺少标识符、字符串或数字 jquery ajax

2019独角兽企业重金招聘Python工程师标准>>> SCRIPT1028:缺少标识符、字符串或数字 使用jquery时报此错误 究其原因是对象键值对格式错误&#xff1a; 原格式&#xff1a; 多了一个逗号obj { "usernmae":"zhangsan", "sex"…

IOS 编程中引用第三方的方类库的方法及常见问题

方法一:直接复制全部源文件到项目中 这样的方法就是把第三方类库的全部源文件复制到项目中。直接把全部.h和.m文件拖到XCode项目中就可以。 注意&#xff1a; 1. 假设第三方类库引用了一些系统自带类库。那么在项目中还须要额外引用那些类库。2. 假设当前的项目启用了ARC。而引…

gcc中-pthread和-lpthread的区别

用gcc编译使用了POSIX thread的程序时通常需要加额外的选项&#xff0c;以便使用thread-safe的库及头文件&#xff0c;一些老的书里说直接增加链接选项 -lpthread 就可以了&#xff0c;像这样&#xff1a; Shell代码 gcc -c x.c gcc x.o -ox -lpthread 而gcc手册里则指出应…

Java项目:精品养老院管理系统(java+Springboot+Maven+mybatis+Vue+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述本系统功能包括&#xff1a;通知公告&#xff0c;老人管理&#xff0c;护工管理&#xff0c;问答管理等等功能。 二、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&am…

install python+twisted+mysqldb+django on mac

一. install python 1) check install or not 在mac终端输入命令&#xff1a;which python 即可查看python的路径 2&#xff09;未安装时&#xff0c;手动下载安装包 地址&#xff1a;https://www.python.org/downloads/ 选择下载 Mac OS X 64-bit/32-bit installer 安装 二…