学习笔记之代码记录

mac2026-04-04  2

我发现我写过的代码第二次再写的时候就不记得了,还得去看一遍才会写,所以专门用一篇文章记录各个阶段的代码供自己闲暇时候翻翻看。

Java SE 面向对象程序设计的相关使用常用类的相关使用集合的相关使用异常的相关使用线程的相关使用JDBC的相关使用 Java Web JQueryAJAXAndJSONRedis

面向对象程序设计的相关使用

public class Fu { public String name; private int age; public Fu() { name="lisi"; age=24; } public String getName() { return name; } } public class Zi extends Fu{ public String name; private int age; public Zi() { name="zhangsan"; age=23; } @Override public String getName() { return name; } } public static void main(String[] args) { Fu fu=new Zi(); System.out.println(fu.getName());//子类的name System.out.println(fu.name);//父类的name }

常用类的相关使用

new Random().nextDouble();//没有参数。 new Random().nextInt(1);//只有这个next方法有重载可赋值参数,左闭右开区间,nextBytes()方法则必须有参数。 System.out.println(9+5+"8");//148 System.out.println("9"+5+8);//958 System.out.println(Arrays.toString(new int[]{1}));//Arrays.toString()没有无参重写,则会调用Object类的toString()。 //Arrays.toString()空参会提示Non-static method 'toString' cannot be referenced from a static context。

集合的相关使用

int[] ints = {1, 2, 3}; ArrayList<Integer> arrayList = new ArrayList<>();//从JDK7开始右侧尖括号可省略泛型 arrayList.add(1);arrayList.add(2);arrayList.add(3); HashSet hashSet = new HashSet(); hashSet.addAll(arrayList); HashMap hashMap = new HashMap(); hashMap.put("1", "1");hashMap.put("2", "2");hashMap.put("3", "3"); List list = new LinkedList(); list.addAll(arrayList); System.out.println(ints);//[I@312b1dae System.out.println(arrayList);//[1, 2, 3] System.out.println(hashSet);//[1, 2, 3] System.out.println(list);//[1, 2, 3] System.out.println(hashMap);//{1=1, 2=2, 3=3} public static void main(String[] args) { Map map=new HashMap(); map.put("1","1"); map.put("2","2"); map.put(null,"2"); map.put(null,"1"); Set keys = map.keySet(); keys.forEach(System.out::println);//null 1 2 keys.forEach(s-> System.out.println(map.get(s)));//1 1 2 System.out.println(map);//null=1,1=1,2=2} System.out.println(map.get("a"));//null Map找不到对应的key值不会报错,会返回null值。 }

异常的相关使用

public static void main(String[] args) { try { int i =1/0; }catch (Exception e){ e.printStackTrace();// java.lang.ArithmeticException: / by zero // at NativeJDBC.NativeJDBCTest.main(NativeJDBCTest.java:12) JVM打印异常对象,默认此方法,打印的异常信息是最全面的。 System.out.println(e);// java.lang.ArithmeticException: / by zero 打印异常类型和简短描述 System.out.println(e.getCause());// null 该方法返回一个Throwable,即引起该异常的真正的异常。 System.out.println(e.getMessage());// / by zero 该方法返回Throwable的简短描述。 } }

线程的相关使用

public static void main(String[] args) { //JDK1.5之后提供线程池。 //java.util.concurrent.Executors 线程池的工厂类。 //static ExecutorService newFixedThreadPool(int nThreads); //static ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory); //java.util.concurrent.ExecutorService 线程池接口submit(Runnable task);void shutdown(); ExecutorService executorService = Executors.newFixedThreadPool(9); executorService.submit(()-> System.out.println("该线程执行的具体内容。")); executorService.shutdown(); }

JDBC的相关使用

public class JDBCUtils { private static DataSource druidDataSource; static { Properties properties=new Properties(); InputStream inputStream = JDBCUtils.class.getResourceAsStream("/druid.properties"); // JDBCUtils.class.getClassLoader().getResourceAsStream("/druid.properties");这样写也可以,实际上类对象的getResourceAsStream //方法里面创建了类加载器然后还是调用类加载器的getResourceAsSteam方法。 try { properties.load(inputStream); druidDataSource=DruidDataSourceFactory.createDataSource(properties); //这里的参数可以传入Properties和Map类型。 } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } public static DataSource getDataSource(){return druidDataSource;} public static Connection getConnection() throws SQLException {return druidDataSource.getConnection();} } ```java public static void main(String[] args) { String driver="com.mysql.cj.jdbc.Driver"; String dburl="jdbc:mysql:///mydb?serverTimezone=UTC&useSSL=false"; String username="root"; String password="root"; try{ Class.forName(driver);//加载驱动程序,mysql8此句可以省略,自动注册驱动。 Connection connection = DriverManager.getConnection(dburl, username, password); //创建连接对象可以通过DriverManager和DataSource接口,后者一般用于数据库连接池。 connection.prepareStatement("SELECT * FROM MYTABLE"); connection.createStatement(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }

JQuery

<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> //在线引入JQuery框架。 <script> $(function(){ for(li of $(Objects)){ li.innerHTML; //这里的li是js元素,且不能使用this,JQuery 3.0之后提供的遍历方式。 }; for([var] x in jsonArrayObject){ jsonArrayObject[x].data; //这个是我没学之前写的,也能用。这里的x是从0开始的索引,刚开始我还以为是js元素,并没有人教我这样写,但是能用的话也记录一下。 }; var jsonObject=eval("("+jsonString+")"); //这里括号一定要加,不然有可能当做函数执行,不会转成json对象。 }); </script>

AJAXAndJSON

<html> <head> <title>$Title$</title> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script> var xmlHttp; function createXMLHttpRequest() { if (window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); }else { xmlHttp=new ActiveXObject("Microsoft:XMLHTTP"); } } function changeJSPData(xmlHttp) { var selectElement= document.getElementById("selectProvince"); var jsonString = xmlHttp.responseText; var jsonObject = eval("("+jsonString+")"); for (x in jsonObject) { var htmlOptionElement = document.createElement("option"); var textNode = document.createTextNode(jsonObject[x].name); htmlOptionElement.setAttribute("id",jsonObject[x].id); htmlOptionElement.appendChild(textNode); selectElement.appendChild(htmlOptionElement); } } function handleReadyStateChange() { if (xmlHttp.readyState==4){ if (xmlHttp.status==200){ changeJSPData(xmlHttp); } } } function queryProvince() { createXMLHttpRequest(); xmlHttp.onreadystatechange=handleReadyStateChange; xmlHttp.open("GET","/provinceServlet",true); xmlHttp.send(null); } $(function () { queryProvince(); }) </script> </head> <body> <select id="selectProvince"> <option>---请选择省份---</option> </select> </body> </html>

Redis

//需要用到jedis.jar包。 public static void main(String[] args) { Jedis jedis = new Jedis("localhost",6379);//如果是默认值可以省略书写。 //操作字符串string。 jedis.set("name","zhangsan"); jedis.get("name"); jedis.setex("activecode",20,"hehe");//20秒后自动删除该键值对。 //操作哈希hash。 jedis.hset("person","name","zhangsan"); jedis.hset("person","age","23"); jedis.hget("person","name"); jedis.hgetAll("person");//{name=zhangsan, age=23} //操作列表linkedlist。 jedis.lpush("mylist","a","b","c"); jedis.rpush("mylist","a","b","c"); jedis.lrange("mylist",0,-1);//[c, b, a, a, b, c] jedis.lpop("mylist");//c jedis.rpop("mylist");//c //操作集合set。 jedis.sadd("myset","java","php","c++"); jedis.smembers("myset");//[c++, php, java] //操作有序集合sortedset。 jedis.zadd("mysortedset",3,"yase"); jedis.zadd("mysortedset",30,"houyi"); jedis.zadd("mysortedset",55,"sunwukong"); jedis.zrange("mysortedset", 0, -1);//[yase, houyi, sunwukong] jedis.close(); } @Test public void test1(){ //需要导入commons-pool.jar包。 JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(50);//设置最大连接数量。 config.setMaxIdle(10);//设置最大空闲连接。 JedisPool jedisPool = new JedisPool(config, "localhost", 6379); Jedis jedis = jedisPool.getResource(); jedis.close(); }
最新回复(0)